From 03ee96eb620a1d1103be130a8fb4cd8d8bbae3dc Mon Sep 17 00:00:00 2001 From: Paul Stack Date: Tue, 13 Oct 2020 21:57:17 +0100 Subject: [PATCH] Upgrade to v3.10.0 of the AWS Terraform Provider (#1165) --- CHANGELOG.md | 1 + provider/cmd/pulumi-resource-aws/schema.json | 2011 ++- provider/go.mod | 2 +- provider/go.sum | 14 +- provider/resources.go | 45 +- sdk/dotnet/Acm/GetCertificate.cs | 2 +- .../Alb/Inputs/TargetGroupStickinessArgs.cs | 4 +- .../Inputs/TargetGroupStickinessGetArgs.cs | 4 +- sdk/dotnet/Alb/LoadBalancer.cs | 10 +- .../Alb/Outputs/TargetGroupStickiness.cs | 4 +- sdk/dotnet/Alb/TargetGroup.cs | 6 +- sdk/dotnet/ApiGateway/UsagePlan.cs | 6 +- .../AppMesh/Inputs/RouteSpecGrpcRouteArgs.cs | 6 + .../Inputs/RouteSpecGrpcRouteGetArgs.cs | 6 + .../Inputs/RouteSpecGrpcRouteMatchArgs.cs | 7 + .../Inputs/RouteSpecGrpcRouteMatchGetArgs.cs | 7 + .../Inputs/RouteSpecGrpcRouteTimeoutArgs.cs | 31 + .../RouteSpecGrpcRouteTimeoutGetArgs.cs | 31 + .../RouteSpecGrpcRouteTimeoutIdleArgs.cs | 31 + .../RouteSpecGrpcRouteTimeoutIdleGetArgs.cs | 31 + ...RouteSpecGrpcRouteTimeoutPerRequestArgs.cs | 31 + ...teSpecGrpcRouteTimeoutPerRequestGetArgs.cs | 31 + .../AppMesh/Inputs/RouteSpecHttp2RouteArgs.cs | 6 + .../Inputs/RouteSpecHttp2RouteGetArgs.cs | 6 + .../Inputs/RouteSpecHttp2RouteTimeoutArgs.cs | 31 + .../RouteSpecHttp2RouteTimeoutGetArgs.cs | 31 + .../RouteSpecHttp2RouteTimeoutIdleArgs.cs | 31 + .../RouteSpecHttp2RouteTimeoutIdleGetArgs.cs | 31 + ...outeSpecHttp2RouteTimeoutPerRequestArgs.cs | 31 + ...eSpecHttp2RouteTimeoutPerRequestGetArgs.cs | 31 + .../AppMesh/Inputs/RouteSpecHttpRouteArgs.cs | 6 + .../Inputs/RouteSpecHttpRouteGetArgs.cs | 6 + .../Inputs/RouteSpecHttpRouteTimeoutArgs.cs | 31 + .../RouteSpecHttpRouteTimeoutGetArgs.cs | 31 + .../RouteSpecHttpRouteTimeoutIdleArgs.cs | 31 + .../RouteSpecHttpRouteTimeoutIdleGetArgs.cs | 31 + ...RouteSpecHttpRouteTimeoutPerRequestArgs.cs | 31 + ...teSpecHttpRouteTimeoutPerRequestGetArgs.cs | 31 + .../AppMesh/Inputs/RouteSpecTcpRouteArgs.cs | 6 + .../Inputs/RouteSpecTcpRouteGetArgs.cs | 6 + .../Inputs/RouteSpecTcpRouteTimeoutArgs.cs | 25 + .../Inputs/RouteSpecTcpRouteTimeoutGetArgs.cs | 25 + .../RouteSpecTcpRouteTimeoutIdleArgs.cs | 31 + .../RouteSpecTcpRouteTimeoutIdleGetArgs.cs | 31 + ...aultsClientPolicyTlsValidationTrustArgs.cs | 2 +- ...tsClientPolicyTlsValidationTrustGetArgs.cs | 2 +- ...rviceClientPolicyTlsValidationTrustArgs.cs | 2 +- ...ceClientPolicyTlsValidationTrustGetArgs.cs | 2 +- .../Inputs/VirtualNodeSpecListenerArgs.cs | 6 + .../Inputs/VirtualNodeSpecListenerGetArgs.cs | 6 + .../VirtualNodeSpecListenerTimeoutArgs.cs | 43 + .../VirtualNodeSpecListenerTimeoutGetArgs.cs | 43 + .../VirtualNodeSpecListenerTimeoutGrpcArgs.cs | 31 + ...rtualNodeSpecListenerTimeoutGrpcGetArgs.cs | 31 + ...tualNodeSpecListenerTimeoutGrpcIdleArgs.cs | 31 + ...lNodeSpecListenerTimeoutGrpcIdleGetArgs.cs | 31 + ...deSpecListenerTimeoutGrpcPerRequestArgs.cs | 31 + ...pecListenerTimeoutGrpcPerRequestGetArgs.cs | 31 + ...VirtualNodeSpecListenerTimeoutHttp2Args.cs | 31 + ...tualNodeSpecListenerTimeoutHttp2GetArgs.cs | 31 + ...ualNodeSpecListenerTimeoutHttp2IdleArgs.cs | 31 + ...NodeSpecListenerTimeoutHttp2IdleGetArgs.cs | 31 + ...eSpecListenerTimeoutHttp2PerRequestArgs.cs | 31 + ...ecListenerTimeoutHttp2PerRequestGetArgs.cs | 31 + .../VirtualNodeSpecListenerTimeoutHttpArgs.cs | 31 + ...rtualNodeSpecListenerTimeoutHttpGetArgs.cs | 31 + ...tualNodeSpecListenerTimeoutHttpIdleArgs.cs | 31 + ...lNodeSpecListenerTimeoutHttpIdleGetArgs.cs | 31 + ...deSpecListenerTimeoutHttpPerRequestArgs.cs | 31 + ...pecListenerTimeoutHttpPerRequestGetArgs.cs | 31 + .../VirtualNodeSpecListenerTimeoutTcpArgs.cs | 25 + ...irtualNodeSpecListenerTimeoutTcpGetArgs.cs | 25 + ...rtualNodeSpecListenerTimeoutTcpIdleArgs.cs | 31 + ...alNodeSpecListenerTimeoutTcpIdleGetArgs.cs | 31 + ...rtualNodeSpecListenerTlsCertificateArgs.cs | 2 +- ...alNodeSpecListenerTlsCertificateGetArgs.cs | 2 +- .../AppMesh/Outputs/RouteSpecGrpcRoute.cs | 9 +- .../Outputs/RouteSpecGrpcRouteMatch.cs | 8 + .../Outputs/RouteSpecGrpcRouteTimeout.cs | 35 + .../Outputs/RouteSpecGrpcRouteTimeoutIdle.cs | 35 + .../RouteSpecGrpcRouteTimeoutPerRequest.cs | 35 + .../AppMesh/Outputs/RouteSpecHttp2Route.cs | 9 +- .../Outputs/RouteSpecHttp2RouteTimeout.cs | 35 + .../Outputs/RouteSpecHttp2RouteTimeoutIdle.cs | 35 + .../RouteSpecHttp2RouteTimeoutPerRequest.cs | 35 + .../AppMesh/Outputs/RouteSpecHttpRoute.cs | 9 +- .../Outputs/RouteSpecHttpRouteTimeout.cs | 35 + .../Outputs/RouteSpecHttpRouteTimeoutIdle.cs | 35 + .../RouteSpecHttpRouteTimeoutPerRequest.cs | 35 + .../AppMesh/Outputs/RouteSpecTcpRoute.cs | 10 +- .../Outputs/RouteSpecTcpRouteTimeout.cs | 27 + .../Outputs/RouteSpecTcpRouteTimeoutIdle.cs | 35 + ...dDefaultsClientPolicyTlsValidationTrust.cs | 2 +- ...alServiceClientPolicyTlsValidationTrust.cs | 2 +- .../Outputs/VirtualNodeSpecListener.cs | 7 + .../Outputs/VirtualNodeSpecListenerTimeout.cs | 49 + .../VirtualNodeSpecListenerTimeoutGrpc.cs | 35 + .../VirtualNodeSpecListenerTimeoutGrpcIdle.cs | 35 + ...alNodeSpecListenerTimeoutGrpcPerRequest.cs | 35 + .../VirtualNodeSpecListenerTimeoutHttp.cs | 35 + .../VirtualNodeSpecListenerTimeoutHttp2.cs | 35 + ...VirtualNodeSpecListenerTimeoutHttp2Idle.cs | 35 + ...lNodeSpecListenerTimeoutHttp2PerRequest.cs | 35 + .../VirtualNodeSpecListenerTimeoutHttpIdle.cs | 35 + ...alNodeSpecListenerTimeoutHttpPerRequest.cs | 35 + .../VirtualNodeSpecListenerTimeoutTcp.cs | 27 + .../VirtualNodeSpecListenerTimeoutTcpIdle.cs | 35 + .../VirtualNodeSpecListenerTlsCertificate.cs | 2 +- .../Inputs/TargetGroupStickinessArgs.cs | 4 +- .../Inputs/TargetGroupStickinessGetArgs.cs | 4 +- .../ApplicationLoadBalancing/LoadBalancer.cs | 10 +- .../Outputs/TargetGroupStickiness.cs | 4 +- .../ApplicationLoadBalancing/TargetGroup.cs | 6 +- sdk/dotnet/AutoScaling/Attachment.cs | 16 +- sdk/dotnet/AutoScaling/GetGroup.cs | 2 +- sdk/dotnet/AutoScaling/Group.cs | 156 - sdk/dotnet/Batch/ComputeEnvironment.cs | 30 + sdk/dotnet/Batch/GetComputeEnvironment.cs | 19 + sdk/dotnet/Batch/GetJobQueue.cs | 21 +- sdk/dotnet/Batch/JobDefinition.cs | 30 + sdk/dotnet/Batch/JobQueue.cs | 30 + sdk/dotnet/CloudFront/Distribution.cs | 36 +- .../CodeArtifact/GetAuthorizationToken.cs | 112 + .../RepositoryPermissionsPolicy.cs | 176 + sdk/dotnet/Config/Config.cs | 1 + sdk/dotnet/DocDB/ClusterInstance.cs | 12 +- sdk/dotnet/Ec2/GetInstanceType.cs | 499 + sdk/dotnet/Ec2/GetVpcEndpointService.cs | 10 +- .../Ec2/Inputs/GetInstanceTypeFpgaArgs.cs | 34 + .../Ec2/Inputs/GetInstanceTypeGpusArgs.cs | 34 + ...GetInstanceTypeInferenceAcceleratorArgs.cs | 28 + .../Inputs/GetInstanceTypeInstanceDiskArgs.cs | 28 + .../Ec2/Outputs/GetInstanceTypeFpgaResult.cs | 40 + .../Ec2/Outputs/GetInstanceTypeGpusResult.cs | 40 + ...tInstanceTypeInferenceAcceleratorResult.cs | 33 + .../GetInstanceTypeInstanceDiskResult.cs | 33 + sdk/dotnet/Efs/FileSystemPolicy.cs | 2 +- .../Inputs/TargetGroupStickinessArgs.cs | 4 +- .../Inputs/TargetGroupStickinessGetArgs.cs | 4 +- .../ElasticLoadBalancingV2/LoadBalancer.cs | 10 +- .../Outputs/TargetGroupStickiness.cs | 4 +- .../ElasticLoadBalancingV2/TargetGroup.cs | 6 +- sdk/dotnet/GetIpRanges.cs | 4 +- sdk/dotnet/GetPartition.cs | 6 + sdk/dotnet/Inputs/ProviderEndpointArgs.cs | 3 + .../LB/Inputs/TargetGroupStickinessArgs.cs | 4 +- .../LB/Inputs/TargetGroupStickinessGetArgs.cs | 4 +- sdk/dotnet/LB/LoadBalancer.cs | 10 +- .../LB/Outputs/TargetGroupStickiness.cs | 4 +- sdk/dotnet/LB/TargetGroup.cs | 6 +- sdk/dotnet/Lex/BotAlias.cs | 234 + sdk/dotnet/Lex/GetBotAlias.cs | 137 + .../Inputs/BotAliasConversationLogsArgs.cs | 37 + .../Inputs/BotAliasConversationLogsGetArgs.cs | 37 + .../BotAliasConversationLogsLogSettingArgs.cs | 49 + ...tAliasConversationLogsLogSettingGetArgs.cs | 49 + .../Lex/Inputs/IntentFollowUpPromptArgs.cs | 6 +- .../Lex/Inputs/IntentFollowUpPromptGetArgs.cs | 6 +- sdk/dotnet/Lex/Inputs/IntentSlotArgs.cs | 3 +- sdk/dotnet/Lex/Inputs/IntentSlotGetArgs.cs | 3 +- sdk/dotnet/Lex/Intent.cs | 54 +- .../Lex/Outputs/BotAliasConversationLogs.cs | 35 + .../BotAliasConversationLogsLogSetting.cs | 56 + .../Lex/Outputs/IntentFollowUpPrompt.cs | 6 +- sdk/dotnet/Lex/Outputs/IntentSlot.cs | 3 +- sdk/dotnet/Lex/SlotType.cs | 14 +- sdk/dotnet/Msk/Cluster.cs | 8 +- sdk/dotnet/Neptune/ClusterInstance.cs | 6 +- sdk/dotnet/Outputs/ProviderEndpoint.cs | 4 + sdk/dotnet/Rds/Proxy.cs | 3 - sdk/dotnet/RedShift/GetOrderableCluster.cs | 126 + sdk/dotnet/S3/BucketObject.cs | 20 +- sdk/dotnet/S3/BucketOwnershipControls.cs | 107 + .../Inputs/BucketOwnershipControlsRuleArgs.cs | 25 + .../BucketOwnershipControlsRuleGetArgs.cs | 25 + .../S3/Outputs/BucketOwnershipControlsRule.cs | 27 + sdk/dotnet/Sns/GetTopic.cs | 2 +- sdk/go/aws/acm/getCertificate.go | 2 +- sdk/go/aws/alb/pulumiTypes.go | 16 +- sdk/go/aws/alb/targetGroup.go | 10 +- sdk/go/aws/apigateway/usagePlan.go | 10 +- .../applicationloadbalancing/pulumiTypes.go | 16 +- .../applicationloadbalancing/targetGroup.go | 10 +- sdk/go/aws/appmesh/pulumiTypes.go | 10262 +++++++++++----- sdk/go/aws/autoscaling/attachment.go | 16 +- sdk/go/aws/autoscaling/getGroup.go | 2 +- sdk/go/aws/autoscaling/group.go | 161 - sdk/go/aws/batch/computeEnvironment.go | 10 + sdk/go/aws/batch/getComputeEnvironment.go | 4 + sdk/go/aws/batch/getJobQueue.go | 4 + sdk/go/aws/batch/jobDefinition.go | 10 + sdk/go/aws/batch/jobQueue.go | 10 + sdk/go/aws/cloudfront/distribution.go | 60 +- .../aws/codeartifact/getAuthorizationToken.go | 64 + .../repositoryPermissionsPolicy.go | 130 + sdk/go/aws/config/pulumiTypes.go | 6 + sdk/go/aws/docdb/clusterInstance.go | 20 +- sdk/go/aws/ec2/getInstanceType.go | 192 + sdk/go/aws/ec2/getVpcEndpointService.go | 7 +- sdk/go/aws/ec2/pulumiTypes.go | 450 + sdk/go/aws/efs/fileSystemPolicy.go | 2 +- .../aws/elasticloadbalancingv2/pulumiTypes.go | 16 +- .../aws/elasticloadbalancingv2/targetGroup.go | 10 +- sdk/go/aws/getIpRanges.go | 4 +- sdk/go/aws/getPartition.go | 4 +- sdk/go/aws/lb/pulumiTypes.go | 16 +- sdk/go/aws/lb/targetGroup.go | 10 +- sdk/go/aws/lex/botAlias.go | 171 + sdk/go/aws/lex/getBotAlias.go | 72 + sdk/go/aws/lex/intent.go | 90 +- sdk/go/aws/lex/pulumiTypes.go | 320 +- sdk/go/aws/lex/slotType.go | 22 +- sdk/go/aws/msk/cluster.go | 12 +- sdk/go/aws/neptune/clusterInstance.go | 10 +- sdk/go/aws/pulumiTypes.go | 6 + sdk/go/aws/rds/proxy.go | 5 - sdk/go/aws/redshift/getOrderableCluster.go | 70 + sdk/go/aws/s3/bucketObject.go | 32 +- sdk/go/aws/s3/bucketOwnershipControls.go | 90 + sdk/go/aws/s3/pulumiTypes.go | 133 + sdk/go/aws/sns/getTopic.go | 2 +- sdk/nodejs/acm/getCertificate.ts | 2 +- sdk/nodejs/alb/loadBalancer.ts | 4 +- sdk/nodejs/alb/targetGroup.ts | 6 +- sdk/nodejs/apigateway/usagePlan.ts | 6 +- .../applicationloadbalancing/loadBalancer.ts | 4 +- .../applicationloadbalancing/targetGroup.ts | 6 +- sdk/nodejs/autoscaling/attachment.ts | 16 +- sdk/nodejs/autoscaling/getGroup.ts | 2 +- sdk/nodejs/autoscaling/group.ts | 125 - sdk/nodejs/batch/computeEnvironment.ts | 14 + sdk/nodejs/batch/getComputeEnvironment.ts | 9 + sdk/nodejs/batch/getJobQueue.ts | 9 + sdk/nodejs/batch/jobDefinition.ts | 14 + sdk/nodejs/batch/jobQueue.ts | 14 + sdk/nodejs/cloudfront/distribution.ts | 36 +- .../codeartifact/getAuthorizationToken.ts | 76 + sdk/nodejs/codeartifact/index.ts | 2 + .../repositoryPermissionsPolicy.ts | 164 + sdk/nodejs/docdb/clusterInstance.ts | 12 +- sdk/nodejs/ec2/getInstanceType.ts | 311 + sdk/nodejs/ec2/getVpcEndpointService.ts | 9 +- sdk/nodejs/ec2/index.ts | 1 + sdk/nodejs/efs/fileSystemPolicy.ts | 2 +- .../elasticloadbalancingv2/loadBalancer.ts | 4 +- .../elasticloadbalancingv2/targetGroup.ts | 6 +- sdk/nodejs/getIpRanges.ts | 4 +- sdk/nodejs/getPartition.ts | 6 + sdk/nodejs/lb/loadBalancer.ts | 4 +- sdk/nodejs/lb/targetGroup.ts | 6 +- sdk/nodejs/lex/botAlias.ts | 208 + sdk/nodejs/lex/getBotAlias.ts | 93 + sdk/nodejs/lex/index.ts | 2 + sdk/nodejs/lex/intent.ts | 54 +- sdk/nodejs/lex/slotType.ts | 14 +- sdk/nodejs/msk/cluster.ts | 8 +- sdk/nodejs/neptune/clusterInstance.ts | 6 +- sdk/nodejs/rds/proxy.ts | 3 - sdk/nodejs/redshift/getOrderableCluster.ts | 83 + sdk/nodejs/redshift/index.ts | 1 + sdk/nodejs/s3/bucketObject.ts | 20 +- sdk/nodejs/s3/bucketOwnershipControls.ts | 109 + sdk/nodejs/s3/index.ts | 1 + sdk/nodejs/sns/getTopic.ts | 2 +- sdk/nodejs/tsconfig.json | 7 + sdk/nodejs/types/input.ts | 383 +- sdk/nodejs/types/output.ts | 384 +- sdk/python/pulumi_aws/_inputs.py | 12 + sdk/python/pulumi_aws/_tables.py | 6 + sdk/python/pulumi_aws/acm/get_certificate.py | 2 +- sdk/python/pulumi_aws/alb/_inputs.py | 8 +- sdk/python/pulumi_aws/alb/load_balancer.py | 4 +- sdk/python/pulumi_aws/alb/outputs.py | 8 +- sdk/python/pulumi_aws/alb/target_group.py | 6 +- .../pulumi_aws/apigateway/usage_plan.py | 6 +- .../applicationloadbalancing/_inputs.py | 8 +- .../applicationloadbalancing/load_balancer.py | 4 +- .../applicationloadbalancing/outputs.py | 8 +- .../applicationloadbalancing/target_group.py | 6 +- sdk/python/pulumi_aws/appmesh/_inputs.py | 1102 +- sdk/python/pulumi_aws/appmesh/outputs.py | 883 +- .../pulumi_aws/autoscaling/attachment.py | 18 +- .../pulumi_aws/autoscaling/get_group.py | 2 +- sdk/python/pulumi_aws/autoscaling/group.py | 121 +- .../pulumi_aws/batch/compute_environment.py | 14 + .../batch/get_compute_environment.py | 18 +- sdk/python/pulumi_aws/batch/get_job_queue.py | 22 +- sdk/python/pulumi_aws/batch/job_definition.py | 14 + sdk/python/pulumi_aws/batch/job_queue.py | 16 +- .../pulumi_aws/cloudfront/distribution.py | 36 +- .../pulumi_aws/codeartifact/__init__.py | 2 + .../codeartifact/get_authorization_token.py | 133 + .../repository_permissions_policy.py | 161 + sdk/python/pulumi_aws/config/outputs.py | 8 + .../pulumi_aws/docdb/cluster_instance.py | 12 +- sdk/python/pulumi_aws/ec2/__init__.py | 1 + sdk/python/pulumi_aws/ec2/_inputs.py | 190 + .../pulumi_aws/ec2/get_instance_type.py | 714 ++ .../ec2/get_vpc_endpoint_service.py | 9 +- sdk/python/pulumi_aws/ec2/outputs.py | 134 + .../pulumi_aws/efs/file_system_policy.py | 2 +- .../elasticloadbalancingv2/_inputs.py | 8 +- .../elasticloadbalancingv2/load_balancer.py | 4 +- .../elasticloadbalancingv2/outputs.py | 8 +- .../elasticloadbalancingv2/target_group.py | 6 +- sdk/python/pulumi_aws/get_ip_ranges.py | 4 +- sdk/python/pulumi_aws/get_partition.py | 6 + sdk/python/pulumi_aws/lb/_inputs.py | 8 +- sdk/python/pulumi_aws/lb/load_balancer.py | 4 +- sdk/python/pulumi_aws/lb/outputs.py | 8 +- sdk/python/pulumi_aws/lb/target_group.py | 6 +- sdk/python/pulumi_aws/lex/__init__.py | 2 + sdk/python/pulumi_aws/lex/_inputs.py | 142 +- sdk/python/pulumi_aws/lex/bot_alias.py | 210 + sdk/python/pulumi_aws/lex/get_bot_alias.py | 179 + sdk/python/pulumi_aws/lex/intent.py | 54 +- sdk/python/pulumi_aws/lex/outputs.py | 120 +- sdk/python/pulumi_aws/lex/slot_type.py | 14 +- sdk/python/pulumi_aws/msk/cluster.py | 8 +- .../pulumi_aws/neptune/cluster_instance.py | 6 +- sdk/python/pulumi_aws/outputs.py | 8 + sdk/python/pulumi_aws/rds/proxy.py | 3 - sdk/python/pulumi_aws/redshift/__init__.py | 1 + .../redshift/get_orderable_cluster.py | 137 + sdk/python/pulumi_aws/s3/__init__.py | 1 + sdk/python/pulumi_aws/s3/_inputs.py | 23 + sdk/python/pulumi_aws/s3/bucket_object.py | 16 +- .../s3/bucket_ownership_controls.py | 106 + sdk/python/pulumi_aws/s3/outputs.py | 22 + sdk/python/pulumi_aws/sns/get_topic.py | 2 +- 330 files changed, 21921 insertions(+), 4789 deletions(-) create mode 100644 sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteTimeoutArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteTimeoutGetArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteTimeoutIdleArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteTimeoutIdleGetArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteTimeoutPerRequestArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteTimeoutPerRequestGetArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteTimeoutArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteTimeoutGetArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteTimeoutIdleArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteTimeoutIdleGetArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteTimeoutPerRequestArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteTimeoutPerRequestGetArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteTimeoutArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteTimeoutGetArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteTimeoutIdleArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteTimeoutIdleGetArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteTimeoutPerRequestArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteTimeoutPerRequestGetArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/RouteSpecTcpRouteTimeoutArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/RouteSpecTcpRouteTimeoutGetArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/RouteSpecTcpRouteTimeoutIdleArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/RouteSpecTcpRouteTimeoutIdleGetArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutGetArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutGrpcArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutGrpcGetArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutGrpcIdleArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutGrpcIdleGetArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutGrpcPerRequestGetArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttp2Args.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttp2GetArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttp2IdleArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttp2IdleGetArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttp2PerRequestGetArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttpArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttpGetArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttpIdleArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttpIdleGetArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttpPerRequestArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttpPerRequestGetArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutTcpArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutTcpGetArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutTcpIdleArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutTcpIdleGetArgs.cs create mode 100644 sdk/dotnet/AppMesh/Outputs/RouteSpecGrpcRouteTimeout.cs create mode 100644 sdk/dotnet/AppMesh/Outputs/RouteSpecGrpcRouteTimeoutIdle.cs create mode 100644 sdk/dotnet/AppMesh/Outputs/RouteSpecGrpcRouteTimeoutPerRequest.cs create mode 100644 sdk/dotnet/AppMesh/Outputs/RouteSpecHttp2RouteTimeout.cs create mode 100644 sdk/dotnet/AppMesh/Outputs/RouteSpecHttp2RouteTimeoutIdle.cs create mode 100644 sdk/dotnet/AppMesh/Outputs/RouteSpecHttp2RouteTimeoutPerRequest.cs create mode 100644 sdk/dotnet/AppMesh/Outputs/RouteSpecHttpRouteTimeout.cs create mode 100644 sdk/dotnet/AppMesh/Outputs/RouteSpecHttpRouteTimeoutIdle.cs create mode 100644 sdk/dotnet/AppMesh/Outputs/RouteSpecHttpRouteTimeoutPerRequest.cs create mode 100644 sdk/dotnet/AppMesh/Outputs/RouteSpecTcpRouteTimeout.cs create mode 100644 sdk/dotnet/AppMesh/Outputs/RouteSpecTcpRouteTimeoutIdle.cs create mode 100644 sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeout.cs create mode 100644 sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutGrpc.cs create mode 100644 sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutGrpcIdle.cs create mode 100644 sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutGrpcPerRequest.cs create mode 100644 sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutHttp.cs create mode 100644 sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutHttp2.cs create mode 100644 sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutHttp2Idle.cs create mode 100644 sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutHttp2PerRequest.cs create mode 100644 sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutHttpIdle.cs create mode 100644 sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutHttpPerRequest.cs create mode 100644 sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutTcp.cs create mode 100644 sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutTcpIdle.cs create mode 100644 sdk/dotnet/CodeArtifact/GetAuthorizationToken.cs create mode 100644 sdk/dotnet/CodeArtifact/RepositoryPermissionsPolicy.cs create mode 100644 sdk/dotnet/Ec2/GetInstanceType.cs create mode 100644 sdk/dotnet/Ec2/Inputs/GetInstanceTypeFpgaArgs.cs create mode 100644 sdk/dotnet/Ec2/Inputs/GetInstanceTypeGpusArgs.cs create mode 100644 sdk/dotnet/Ec2/Inputs/GetInstanceTypeInferenceAcceleratorArgs.cs create mode 100644 sdk/dotnet/Ec2/Inputs/GetInstanceTypeInstanceDiskArgs.cs create mode 100644 sdk/dotnet/Ec2/Outputs/GetInstanceTypeFpgaResult.cs create mode 100644 sdk/dotnet/Ec2/Outputs/GetInstanceTypeGpusResult.cs create mode 100644 sdk/dotnet/Ec2/Outputs/GetInstanceTypeInferenceAcceleratorResult.cs create mode 100644 sdk/dotnet/Ec2/Outputs/GetInstanceTypeInstanceDiskResult.cs create mode 100644 sdk/dotnet/Lex/BotAlias.cs create mode 100644 sdk/dotnet/Lex/GetBotAlias.cs create mode 100644 sdk/dotnet/Lex/Inputs/BotAliasConversationLogsArgs.cs create mode 100644 sdk/dotnet/Lex/Inputs/BotAliasConversationLogsGetArgs.cs create mode 100644 sdk/dotnet/Lex/Inputs/BotAliasConversationLogsLogSettingArgs.cs create mode 100644 sdk/dotnet/Lex/Inputs/BotAliasConversationLogsLogSettingGetArgs.cs create mode 100644 sdk/dotnet/Lex/Outputs/BotAliasConversationLogs.cs create mode 100644 sdk/dotnet/Lex/Outputs/BotAliasConversationLogsLogSetting.cs create mode 100644 sdk/dotnet/RedShift/GetOrderableCluster.cs create mode 100644 sdk/dotnet/S3/BucketOwnershipControls.cs create mode 100644 sdk/dotnet/S3/Inputs/BucketOwnershipControlsRuleArgs.cs create mode 100644 sdk/dotnet/S3/Inputs/BucketOwnershipControlsRuleGetArgs.cs create mode 100644 sdk/dotnet/S3/Outputs/BucketOwnershipControlsRule.cs create mode 100644 sdk/go/aws/codeartifact/getAuthorizationToken.go create mode 100644 sdk/go/aws/codeartifact/repositoryPermissionsPolicy.go create mode 100644 sdk/go/aws/ec2/getInstanceType.go create mode 100644 sdk/go/aws/lex/botAlias.go create mode 100644 sdk/go/aws/lex/getBotAlias.go create mode 100644 sdk/go/aws/redshift/getOrderableCluster.go create mode 100644 sdk/go/aws/s3/bucketOwnershipControls.go create mode 100644 sdk/nodejs/codeartifact/getAuthorizationToken.ts create mode 100644 sdk/nodejs/codeartifact/repositoryPermissionsPolicy.ts create mode 100644 sdk/nodejs/ec2/getInstanceType.ts create mode 100644 sdk/nodejs/lex/botAlias.ts create mode 100644 sdk/nodejs/lex/getBotAlias.ts create mode 100644 sdk/nodejs/redshift/getOrderableCluster.ts create mode 100644 sdk/nodejs/s3/bucketOwnershipControls.ts create mode 100644 sdk/python/pulumi_aws/codeartifact/get_authorization_token.py create mode 100644 sdk/python/pulumi_aws/codeartifact/repository_permissions_policy.py create mode 100644 sdk/python/pulumi_aws/ec2/get_instance_type.py create mode 100644 sdk/python/pulumi_aws/lex/bot_alias.py create mode 100644 sdk/python/pulumi_aws/lex/get_bot_alias.py create mode 100644 sdk/python/pulumi_aws/redshift/get_orderable_cluster.py create mode 100644 sdk/python/pulumi_aws/s3/bucket_ownership_controls.py diff --git a/CHANGELOG.md b/CHANGELOG.md index f26162a8335..d2905b31332 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ CHANGELOG ========= ## HEAD (Unreleased) +* Upgrade to v3.10.0 of the AWS Terraform Provider * Disable autonaming on `directoryservice.Directory` as the `name` needs to be a fully qualified name for the directory * Schematize enums, generate new constants and update existing constants for Nodejs. [#1151](https://github.com/pulumi/pulumi-aws/pull/1151) * Upgrade to pulumi-terraform-bridge v2.11.0 diff --git a/provider/cmd/pulumi-resource-aws/schema.json b/provider/cmd/pulumi-resource-aws/schema.json index 1e3b91e9aa8..1b31a5fcebf 100644 --- a/provider/cmd/pulumi-resource-aws/schema.json +++ b/provider/cmd/pulumi-resource-aws/schema.json @@ -1979,7 +1979,7 @@ "properties": { "cookieDuration": { "type": "integer", - "description": "The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).\n", + "description": "Only used when the type is `lb_cookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).\n", "language": { "python": { "mapCase": false @@ -1997,7 +1997,7 @@ }, "type": { "type": "string", - "description": "The type of sticky sessions. The only current possible value is `lb_cookie`.\n", + "description": "The type of sticky sessions. The only current possible values are `lb_cookie` for ALBs and `source_ip` for NLBs.\n", "language": { "python": { "mapCase": false @@ -5037,7 +5037,7 @@ "properties": { "cookieDuration": { "type": "integer", - "description": "The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).\n", + "description": "Only used when the type is `lb_cookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).\n", "language": { "python": { "mapCase": false @@ -5055,7 +5055,7 @@ }, "type": { "type": "string", - "description": "The type of sticky sessions. The only current possible value is `lb_cookie`.\n", + "description": "The type of sticky sessions. The only current possible values are `lb_cookie` for ALBs and `source_ip` for NLBs.\n", "language": { "python": { "mapCase": false @@ -5787,6 +5787,15 @@ "mapCase": false } } + }, + "timeout": { + "$ref": "#/types/aws:appmesh/RouteSpecGrpcRouteTimeout:RouteSpecGrpcRouteTimeout", + "description": "The types of timeouts.\n", + "language": { + "python": { + "mapCase": false + } + } } }, "type": "object", @@ -5865,6 +5874,15 @@ } } }, + "prefix": { + "type": "string", + "description": "The value sent by the client must begin with the specified characters.\nThis parameter must always start with /, which by itself matches all requests to the virtual router service name.\n", + "language": { + "python": { + "mapCase": false + } + } + }, "serviceName": { "type": "string", "description": "The fully qualified domain name for the service to match from the request.\n", @@ -6079,6 +6097,83 @@ "value" ] }, + "aws:appmesh/RouteSpecGrpcRouteTimeout:RouteSpecGrpcRouteTimeout": { + "properties": { + "idle": { + "$ref": "#/types/aws:appmesh/RouteSpecGrpcRouteTimeoutIdle:RouteSpecGrpcRouteTimeoutIdle", + "description": "The idle timeout. An idle timeout bounds the amount of time that a connection may be idle.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "perRequest": { + "$ref": "#/types/aws:appmesh/RouteSpecGrpcRouteTimeoutPerRequest:RouteSpecGrpcRouteTimeoutPerRequest", + "description": "The per request timeout.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:appmesh/RouteSpecGrpcRouteTimeoutIdle:RouteSpecGrpcRouteTimeoutIdle": { + "properties": { + "unit": { + "type": "string", + "description": "The unit of time. Valid values: `ms`, `s`.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "description": "The number of time units. Minimum value of `0`.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "aws:appmesh/RouteSpecGrpcRouteTimeoutPerRequest:RouteSpecGrpcRouteTimeoutPerRequest": { + "properties": { + "unit": { + "type": "string", + "description": "The unit of time. Valid values: `ms`, `s`.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "description": "The number of time units. Minimum value of `0`.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, "aws:appmesh/RouteSpecHttp2Route:RouteSpecHttp2Route": { "properties": { "action": { @@ -6107,6 +6202,15 @@ "mapCase": false } } + }, + "timeout": { + "$ref": "#/types/aws:appmesh/RouteSpecHttp2RouteTimeout:RouteSpecHttp2RouteTimeout", + "description": "The types of timeouts.\n", + "language": { + "python": { + "mapCase": false + } + } } }, "type": "object", @@ -6399,6 +6503,83 @@ "value" ] }, + "aws:appmesh/RouteSpecHttp2RouteTimeout:RouteSpecHttp2RouteTimeout": { + "properties": { + "idle": { + "$ref": "#/types/aws:appmesh/RouteSpecHttp2RouteTimeoutIdle:RouteSpecHttp2RouteTimeoutIdle", + "description": "The idle timeout. An idle timeout bounds the amount of time that a connection may be idle.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "perRequest": { + "$ref": "#/types/aws:appmesh/RouteSpecHttp2RouteTimeoutPerRequest:RouteSpecHttp2RouteTimeoutPerRequest", + "description": "The per request timeout.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:appmesh/RouteSpecHttp2RouteTimeoutIdle:RouteSpecHttp2RouteTimeoutIdle": { + "properties": { + "unit": { + "type": "string", + "description": "The unit of time. Valid values: `ms`, `s`.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "description": "The number of time units. Minimum value of `0`.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "aws:appmesh/RouteSpecHttp2RouteTimeoutPerRequest:RouteSpecHttp2RouteTimeoutPerRequest": { + "properties": { + "unit": { + "type": "string", + "description": "The unit of time. Valid values: `ms`, `s`.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "description": "The number of time units. Minimum value of `0`.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, "aws:appmesh/RouteSpecHttpRoute:RouteSpecHttpRoute": { "properties": { "action": { @@ -6427,6 +6608,15 @@ "mapCase": false } } + }, + "timeout": { + "$ref": "#/types/aws:appmesh/RouteSpecHttpRouteTimeout:RouteSpecHttpRouteTimeout", + "description": "The types of timeouts.\n", + "language": { + "python": { + "mapCase": false + } + } } }, "type": "object", @@ -6719,6 +6909,83 @@ "value" ] }, + "aws:appmesh/RouteSpecHttpRouteTimeout:RouteSpecHttpRouteTimeout": { + "properties": { + "idle": { + "$ref": "#/types/aws:appmesh/RouteSpecHttpRouteTimeoutIdle:RouteSpecHttpRouteTimeoutIdle", + "description": "The idle timeout. An idle timeout bounds the amount of time that a connection may be idle.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "perRequest": { + "$ref": "#/types/aws:appmesh/RouteSpecHttpRouteTimeoutPerRequest:RouteSpecHttpRouteTimeoutPerRequest", + "description": "The per request timeout.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:appmesh/RouteSpecHttpRouteTimeoutIdle:RouteSpecHttpRouteTimeoutIdle": { + "properties": { + "unit": { + "type": "string", + "description": "The unit of time. Valid values: `ms`, `s`.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "description": "The number of time units. Minimum value of `0`.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "aws:appmesh/RouteSpecHttpRouteTimeoutPerRequest:RouteSpecHttpRouteTimeoutPerRequest": { + "properties": { + "unit": { + "type": "string", + "description": "The unit of time. Valid values: `ms`, `s`.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "description": "The number of time units. Minimum value of `0`.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, "aws:appmesh/RouteSpecTcpRoute:RouteSpecTcpRoute": { "properties": { "action": { @@ -6729,6 +6996,15 @@ "mapCase": false } } + }, + "timeout": { + "$ref": "#/types/aws:appmesh/RouteSpecTcpRouteTimeout:RouteSpecTcpRouteTimeout", + "description": "The types of timeouts.\n", + "language": { + "python": { + "mapCase": false + } + } } }, "type": "object", @@ -6783,6 +7059,47 @@ "weight" ] }, + "aws:appmesh/RouteSpecTcpRouteTimeout:RouteSpecTcpRouteTimeout": { + "properties": { + "idle": { + "$ref": "#/types/aws:appmesh/RouteSpecTcpRouteTimeoutIdle:RouteSpecTcpRouteTimeoutIdle", + "description": "The idle timeout. An idle timeout bounds the amount of time that a connection may be idle.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:appmesh/RouteSpecTcpRouteTimeoutIdle:RouteSpecTcpRouteTimeoutIdle": { + "properties": { + "unit": { + "type": "string", + "description": "The unit of time. Valid values: `ms`, `s`.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "description": "The number of time units. Minimum value of `0`.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, "aws:appmesh/VirtualNodeSpec:VirtualNodeSpec": { "properties": { "backendDefaults": { @@ -6939,7 +7256,7 @@ "properties": { "acm": { "$ref": "#/types/aws:appmesh/VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm:VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm", - "description": "The TLS validation context trust for an AWS Certicate Manager (ACM) certificate.\n", + "description": "The TLS validation context trust for an AWS Certificate Manager (ACM) certificate.\n", "language": { "python": { "mapCase": false @@ -7093,7 +7410,7 @@ "properties": { "acm": { "$ref": "#/types/aws:appmesh/VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm:VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm", - "description": "The TLS validation context trust for an AWS Certicate Manager (ACM) certificate.\n", + "description": "The TLS validation context trust for an AWS Certificate Manager (ACM) certificate.\n", "language": { "python": { "mapCase": false @@ -7169,6 +7486,15 @@ } } }, + "timeout": { + "$ref": "#/types/aws:appmesh/VirtualNodeSpecListenerTimeout:VirtualNodeSpecListenerTimeout", + "description": "Timeouts for different protocols.\n", + "language": { + "python": { + "mapCase": false + } + } + }, "tls": { "$ref": "#/types/aws:appmesh/VirtualNodeSpecListenerTls:VirtualNodeSpecListenerTls", "description": "The Transport Layer Security (TLS) properties for the listener\n", @@ -7298,6 +7624,319 @@ "protocol" ] }, + "aws:appmesh/VirtualNodeSpecListenerTimeout:VirtualNodeSpecListenerTimeout": { + "properties": { + "grpc": { + "$ref": "#/types/aws:appmesh/VirtualNodeSpecListenerTimeoutGrpc:VirtualNodeSpecListenerTimeoutGrpc", + "description": "Timeouts for gRPC listeners.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "http": { + "$ref": "#/types/aws:appmesh/VirtualNodeSpecListenerTimeoutHttp:VirtualNodeSpecListenerTimeoutHttp", + "description": "Timeouts for HTTP listeners.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "http2": { + "$ref": "#/types/aws:appmesh/VirtualNodeSpecListenerTimeoutHttp2:VirtualNodeSpecListenerTimeoutHttp2", + "description": "Timeouts for HTTP2 listeners.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "tcp": { + "$ref": "#/types/aws:appmesh/VirtualNodeSpecListenerTimeoutTcp:VirtualNodeSpecListenerTimeoutTcp", + "description": "Timeouts for TCP listeners.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:appmesh/VirtualNodeSpecListenerTimeoutGrpc:VirtualNodeSpecListenerTimeoutGrpc": { + "properties": { + "idle": { + "$ref": "#/types/aws:appmesh/VirtualNodeSpecListenerTimeoutGrpcIdle:VirtualNodeSpecListenerTimeoutGrpcIdle", + "description": "The idle timeout. An idle timeout bounds the amount of time that a connection may be idle.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "perRequest": { + "$ref": "#/types/aws:appmesh/VirtualNodeSpecListenerTimeoutGrpcPerRequest:VirtualNodeSpecListenerTimeoutGrpcPerRequest", + "description": "The per request timeout.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:appmesh/VirtualNodeSpecListenerTimeoutGrpcIdle:VirtualNodeSpecListenerTimeoutGrpcIdle": { + "properties": { + "unit": { + "type": "string", + "description": "The unit of time. Valid values: `ms`, `s`.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "description": "The number of time units. Minimum value of `0`.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "aws:appmesh/VirtualNodeSpecListenerTimeoutGrpcPerRequest:VirtualNodeSpecListenerTimeoutGrpcPerRequest": { + "properties": { + "unit": { + "type": "string", + "description": "The unit of time. Valid values: `ms`, `s`.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "description": "The number of time units. Minimum value of `0`.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "aws:appmesh/VirtualNodeSpecListenerTimeoutHttp2:VirtualNodeSpecListenerTimeoutHttp2": { + "properties": { + "idle": { + "$ref": "#/types/aws:appmesh/VirtualNodeSpecListenerTimeoutHttp2Idle:VirtualNodeSpecListenerTimeoutHttp2Idle", + "description": "The idle timeout. An idle timeout bounds the amount of time that a connection may be idle.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "perRequest": { + "$ref": "#/types/aws:appmesh/VirtualNodeSpecListenerTimeoutHttp2PerRequest:VirtualNodeSpecListenerTimeoutHttp2PerRequest", + "description": "The per request timeout.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:appmesh/VirtualNodeSpecListenerTimeoutHttp2Idle:VirtualNodeSpecListenerTimeoutHttp2Idle": { + "properties": { + "unit": { + "type": "string", + "description": "The unit of time. Valid values: `ms`, `s`.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "description": "The number of time units. Minimum value of `0`.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "aws:appmesh/VirtualNodeSpecListenerTimeoutHttp2PerRequest:VirtualNodeSpecListenerTimeoutHttp2PerRequest": { + "properties": { + "unit": { + "type": "string", + "description": "The unit of time. Valid values: `ms`, `s`.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "description": "The number of time units. Minimum value of `0`.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "aws:appmesh/VirtualNodeSpecListenerTimeoutHttp:VirtualNodeSpecListenerTimeoutHttp": { + "properties": { + "idle": { + "$ref": "#/types/aws:appmesh/VirtualNodeSpecListenerTimeoutHttpIdle:VirtualNodeSpecListenerTimeoutHttpIdle", + "description": "The idle timeout. An idle timeout bounds the amount of time that a connection may be idle.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "perRequest": { + "$ref": "#/types/aws:appmesh/VirtualNodeSpecListenerTimeoutHttpPerRequest:VirtualNodeSpecListenerTimeoutHttpPerRequest", + "description": "The per request timeout.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:appmesh/VirtualNodeSpecListenerTimeoutHttpIdle:VirtualNodeSpecListenerTimeoutHttpIdle": { + "properties": { + "unit": { + "type": "string", + "description": "The unit of time. Valid values: `ms`, `s`.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "description": "The number of time units. Minimum value of `0`.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "aws:appmesh/VirtualNodeSpecListenerTimeoutHttpPerRequest:VirtualNodeSpecListenerTimeoutHttpPerRequest": { + "properties": { + "unit": { + "type": "string", + "description": "The unit of time. Valid values: `ms`, `s`.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "description": "The number of time units. Minimum value of `0`.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "aws:appmesh/VirtualNodeSpecListenerTimeoutTcp:VirtualNodeSpecListenerTimeoutTcp": { + "properties": { + "idle": { + "$ref": "#/types/aws:appmesh/VirtualNodeSpecListenerTimeoutTcpIdle:VirtualNodeSpecListenerTimeoutTcpIdle", + "description": "The idle timeout. An idle timeout bounds the amount of time that a connection may be idle.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:appmesh/VirtualNodeSpecListenerTimeoutTcpIdle:VirtualNodeSpecListenerTimeoutTcpIdle": { + "properties": { + "unit": { + "type": "string", + "description": "The unit of time. Valid values: `ms`, `s`.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "description": "The number of time units. Minimum value of `0`.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, "aws:appmesh/VirtualNodeSpecListenerTls:VirtualNodeSpecListenerTls": { "properties": { "certificate": { @@ -7329,7 +7968,7 @@ "properties": { "acm": { "$ref": "#/types/aws:appmesh/VirtualNodeSpecListenerTlsCertificateAcm:VirtualNodeSpecListenerTlsCertificateAcm", - "description": "An AWS Certicate Manager (ACM) certificate.\n", + "description": "An AWS Certificate Manager (ACM) certificate.\n", "language": { "python": { "mapCase": false @@ -14499,6 +15138,9 @@ "synthetics": { "type": "string" }, + "timestreamwrite": { + "type": "string" + }, "transfer": { "type": "string" }, @@ -21175,6 +21817,182 @@ } } }, + "aws:ec2/getInstanceTypeFpga:getInstanceTypeFpga": { + "properties": { + "count": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "manufacturer": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "memorySize": { + "type": "integer", + "description": "Size of the instance memory, in MiB.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "name": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "count", + "manufacturer", + "memorySize", + "name" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:ec2/getInstanceTypeGpus:getInstanceTypeGpus": { + "properties": { + "count": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "manufacturer": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "memorySize": { + "type": "integer", + "description": "Size of the instance memory, in MiB.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "name": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "count", + "manufacturer", + "memorySize", + "name" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:ec2/getInstanceTypeInferenceAccelerator:getInstanceTypeInferenceAccelerator": { + "properties": { + "count": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "manufacturer": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "name": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "count", + "manufacturer", + "name" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:ec2/getInstanceTypeInstanceDisk:getInstanceTypeInstanceDisk": { + "properties": { + "count": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "size": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "type": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "count", + "size", + "type" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "aws:ec2/getInstanceTypeOfferingFilter:getInstanceTypeOfferingFilter": { "properties": { "name": { @@ -27288,7 +28106,7 @@ "properties": { "cookieDuration": { "type": "integer", - "description": "The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).\n", + "description": "Only used when the type is `lb_cookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).\n", "language": { "python": { "mapCase": false @@ -27306,7 +28124,7 @@ }, "type": { "type": "string", - "description": "The type of sticky sessions. The only current possible value is `lb_cookie`.\n", + "description": "The type of sticky sessions. The only current possible values are `lb_cookie` for ALBs and `source_ip` for NLBs.\n", "language": { "python": { "mapCase": false @@ -35893,6 +36711,14 @@ } } }, + "timestreamwrite": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, "transfer": { "type": "string", "language": { @@ -42447,7 +43273,7 @@ "properties": { "cookieDuration": { "type": "integer", - "description": "The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).\n", + "description": "Only used when the type is `lb_cookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).\n", "language": { "python": { "mapCase": false @@ -42465,7 +43291,7 @@ }, "type": { "type": "string", - "description": "The type of sticky sessions. The only current possible value is `lb_cookie`.\n", + "description": "The type of sticky sessions. The only current possible values are `lb_cookie` for ALBs and `source_ip` for NLBs.\n", "language": { "python": { "mapCase": false @@ -43156,6 +43982,100 @@ "contentType" ] }, + "aws:lex/BotAliasConversationLogs:BotAliasConversationLogs": { + "properties": { + "iamRoleArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the IAM role used to write your logs to CloudWatch Logs or an S3 bucket.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "logSettings": { + "type": "array", + "items": { + "$ref": "#/types/aws:lex/BotAliasConversationLogsLogSetting:BotAliasConversationLogsLogSetting" + }, + "description": "The settings for your conversation logs. You can log text, audio, or both. Attributes are documented under log_settings.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "iamRoleArn" + ] + }, + "aws:lex/BotAliasConversationLogsLogSetting:BotAliasConversationLogsLogSetting": { + "properties": { + "destination": { + "type": "string", + "description": "The destination where logs are delivered. Options are `CLOUDWATCH_LOGS` or `S3`.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "kmsKeyArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the key used to encrypt audio logs in an S3 bucket. This can only be specified when `destination` is set to `S3`.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "logType": { + "type": "string", + "description": "The type of logging that is enabled. Options are `AUDIO` or `TEXT`.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "resourceArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the CloudWatch Logs log group or S3 bucket where the logs are delivered.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "resourcePrefix": { + "type": "string", + "description": "The prefix of the S3 object key for `AUDIO` logs or the log stream name for `TEXT` logs.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "destination", + "logType", + "resourceArn" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "destination", + "logType", + "resourceArn", + "resourcePrefix" + ] + } + } + }, "aws:lex/BotClarificationPrompt:BotClarificationPrompt": { "properties": { "maxAttempts": { @@ -43438,7 +44358,7 @@ }, "rejectionStatement": { "$ref": "#/types/aws:lex/IntentFollowUpPromptRejectionStatement:IntentFollowUpPromptRejectionStatement", - "description": "When the user answers \"no\" to the question defined in\n`confirmation_prompt`, Amazon Lex responds with this statement to acknowledge that the intent was\ncanceled.\n", + "description": "If the user answers \"no\" to the question defined in the prompt field,\nAmazon Lex responds with this statement to acknowledge that the intent was canceled. Attributes are\ndocumented below under statement.\n", "language": { "python": { "mapCase": false @@ -43732,7 +44652,7 @@ }, "priority": { "type": "integer", - "description": "Directs Lex the order in which to elicit this slot value from the user.\nFor example, if the intent has two slots with priorities 1 and 2, AWS Lex first elicits a value for\nthe slot with priority 1.\n", + "description": "Directs Lex the order in which to elicit this slot value from the user.\nFor example, if the intent has two slots with priorities 1 and 2, AWS Lex first elicits a value for\nthe slot with priority 1. If multiple slots share the same priority, the order in which Lex elicits\nvalues is arbitrary.\n", "language": { "python": { "mapCase": false @@ -48739,6 +49659,23 @@ "mode" ] }, + "aws:s3/BucketOwnershipControlsRule:BucketOwnershipControlsRule": { + "properties": { + "objectOwnership": { + "type": "string", + "description": "Object ownership. Valid values: `BucketOwnerPreferred` or `ObjectWriter`\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "objectOwnership" + ] + }, "aws:s3/BucketReplicationConfiguration:BucketReplicationConfiguration": { "properties": { "role": { @@ -128797,7 +129734,7 @@ ] }, "aws:alb/loadBalancer:LoadBalancer": { - "description": "Provides a Load Balancer resource.\n\n\u003e **Note:** `aws.alb.LoadBalancer` is known as `aws.lb.LoadBalancer`. The functionality is identical.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Application Load Balancer\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.LoadBalancer(\"test\", {\n internal: false,\n loadBalancerType: \"application\",\n securityGroups: [aws_security_group.lb_sg.id],\n subnets: [aws_subnet[\"public\"].map(__item =\u003e __item.id)],\n enableDeletionProtection: true,\n accessLogs: {\n bucket: aws_s3_bucket.lb_logs.bucket,\n prefix: \"test-lb\",\n enabled: true,\n },\n tags: {\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.LoadBalancer(\"test\",\n internal=False,\n load_balancer_type=\"application\",\n security_groups=[aws_security_group[\"lb_sg\"][\"id\"]],\n subnets=[[__item[\"id\"] for __item in aws_subnet[\"public\"]]],\n enable_deletion_protection=True,\n access_logs=aws.lb.LoadBalancerAccessLogsArgs(\n bucket=aws_s3_bucket[\"lb_logs\"][\"bucket\"],\n prefix=\"test-lb\",\n enabled=True,\n ),\n tags={\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var test = new Aws.LB.LoadBalancer(\"test\", new Aws.LB.LoadBalancerArgs\n {\n Internal = false,\n LoadBalancerType = \"application\",\n SecurityGroups = \n {\n aws_security_group.Lb_sg.Id,\n },\n Subnets = \n {\n aws_subnet.Public.Select(__item =\u003e __item.Id).ToList(),\n },\n EnableDeletionProtection = true,\n AccessLogs = new Aws.LB.Inputs.LoadBalancerAccessLogsArgs\n {\n Bucket = aws_s3_bucket.Lb_logs.Bucket,\n Prefix = \"test-lb\",\n Enabled = true,\n },\n Tags = \n {\n { \"Environment\", \"production\" },\n },\n });\n }\n\n}\n```\n{{% /example %}}\n{{% example %}}\n### Network Load Balancer\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.LoadBalancer(\"test\", {\n internal: false,\n loadBalancerType: \"network\",\n subnets: [aws_subnet[\"public\"].map(__item =\u003e __item.id)],\n enableDeletionProtection: true,\n tags: {\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.LoadBalancer(\"test\",\n internal=False,\n load_balancer_type=\"network\",\n subnets=[[__item[\"id\"] for __item in aws_subnet[\"public\"]]],\n enable_deletion_protection=True,\n tags={\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var test = new Aws.LB.LoadBalancer(\"test\", new Aws.LB.LoadBalancerArgs\n {\n Internal = false,\n LoadBalancerType = \"network\",\n Subnets = \n {\n aws_subnet.Public.Select(__item =\u003e __item.Id).ToList(),\n },\n EnableDeletionProtection = true,\n Tags = \n {\n { \"Environment\", \"production\" },\n },\n });\n }\n\n}\n```\n{{% /example %}}\n{{% example %}}\n### Specifying Elastic IPs\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {\n loadBalancerType: \"network\",\n subnetMappings: [\n {\n subnetId: aws_subnet.example1.id,\n allocationId: aws_eip.example1.id,\n },\n {\n subnetId: aws_subnet.example2.id,\n allocationId: aws_eip.example2.id,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\",\n load_balancer_type=\"network\",\n subnet_mappings=[\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=aws_subnet[\"example1\"][\"id\"],\n allocation_id=aws_eip[\"example1\"][\"id\"],\n ),\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=aws_subnet[\"example2\"][\"id\"],\n allocation_id=aws_eip[\"example2\"][\"id\"],\n ),\n ])\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Aws.LB.LoadBalancer(\"example\", new Aws.LB.LoadBalancerArgs\n {\n LoadBalancerType = \"network\",\n SubnetMappings = \n {\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = aws_subnet.Example1.Id,\n AllocationId = aws_eip.Example1.Id,\n },\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = aws_subnet.Example2.Id,\n AllocationId = aws_eip.Example2.Id,\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tLoadBalancerType: pulumi.String(\"network\"),\n\t\t\tSubnetMappings: lb.LoadBalancerSubnetMappingArray{\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(aws_subnet.Example1.Id),\n\t\t\t\t\tAllocationId: pulumi.Any(aws_eip.Example1.Id),\n\t\t\t\t},\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(aws_subnet.Example2.Id),\n\t\t\t\t\tAllocationId: pulumi.Any(aws_eip.Example2.Id),\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{{% /example %}}\n{{% example %}}\n### Specifying private IP addresses for an internal-facing load balancer\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {\n loadBalancerType: \"network\",\n subnetMappings: [\n {\n subnetId: aws_subnet.example1.id,\n privateIpv4Address: \"10.0.1.15\",\n },\n {\n subnetId: aws_subnet.example2.id,\n privateIpv4Address: \"10.0.2.15\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\",\n load_balancer_type=\"network\",\n subnet_mappings=[\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=aws_subnet[\"example1\"][\"id\"],\n private_ipv4_address=\"10.0.1.15\",\n ),\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=aws_subnet[\"example2\"][\"id\"],\n private_ipv4_address=\"10.0.2.15\",\n ),\n ])\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Aws.LB.LoadBalancer(\"example\", new Aws.LB.LoadBalancerArgs\n {\n LoadBalancerType = \"network\",\n SubnetMappings = \n {\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = aws_subnet.Example1.Id,\n PrivateIpv4Address = \"10.0.1.15\",\n },\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = aws_subnet.Example2.Id,\n PrivateIpv4Address = \"10.0.2.15\",\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tLoadBalancerType: pulumi.String(\"network\"),\n\t\t\tSubnetMappings: lb.LoadBalancerSubnetMappingArray{\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(aws_subnet.Example1.Id),\n\t\t\t\t\tPrivateIpv4Address: pulumi.String(\"10.0.1.15\"),\n\t\t\t\t},\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(aws_subnet.Example2.Id),\n\t\t\t\t\tPrivateIpv4Address: pulumi.String(\"10.0.2.15\"),\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{{% /example %}}\n{{% /examples %}}", + "description": "Provides a Load Balancer resource.\n\n\u003e **Note:** `aws.alb.LoadBalancer` is known as `aws.lb.LoadBalancer`. The functionality is identical.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Application Load Balancer\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.LoadBalancer(\"test\", {\n internal: false,\n loadBalancerType: \"application\",\n securityGroups: [aws_security_group.lb_sg.id],\n subnets: aws_subnet[\"public\"].map(__item =\u003e __item.id),\n enableDeletionProtection: true,\n accessLogs: {\n bucket: aws_s3_bucket.lb_logs.bucket,\n prefix: \"test-lb\",\n enabled: true,\n },\n tags: {\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.LoadBalancer(\"test\",\n internal=False,\n load_balancer_type=\"application\",\n security_groups=[aws_security_group[\"lb_sg\"][\"id\"]],\n subnets=[__item[\"id\"] for __item in aws_subnet[\"public\"]],\n enable_deletion_protection=True,\n access_logs=aws.lb.LoadBalancerAccessLogsArgs(\n bucket=aws_s3_bucket[\"lb_logs\"][\"bucket\"],\n prefix=\"test-lb\",\n enabled=True,\n ),\n tags={\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var test = new Aws.LB.LoadBalancer(\"test\", new Aws.LB.LoadBalancerArgs\n {\n Internal = false,\n LoadBalancerType = \"application\",\n SecurityGroups = \n {\n aws_security_group.Lb_sg.Id,\n },\n Subnets = aws_subnet.Public.Select(__item =\u003e __item.Id).ToList(),\n EnableDeletionProtection = true,\n AccessLogs = new Aws.LB.Inputs.LoadBalancerAccessLogsArgs\n {\n Bucket = aws_s3_bucket.Lb_logs.Bucket,\n Prefix = \"test-lb\",\n Enabled = true,\n },\n Tags = \n {\n { \"Environment\", \"production\" },\n },\n });\n }\n\n}\n```\n{{% /example %}}\n{{% example %}}\n### Network Load Balancer\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.LoadBalancer(\"test\", {\n internal: false,\n loadBalancerType: \"network\",\n subnets: aws_subnet[\"public\"].map(__item =\u003e __item.id),\n enableDeletionProtection: true,\n tags: {\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.LoadBalancer(\"test\",\n internal=False,\n load_balancer_type=\"network\",\n subnets=[__item[\"id\"] for __item in aws_subnet[\"public\"]],\n enable_deletion_protection=True,\n tags={\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var test = new Aws.LB.LoadBalancer(\"test\", new Aws.LB.LoadBalancerArgs\n {\n Internal = false,\n LoadBalancerType = \"network\",\n Subnets = aws_subnet.Public.Select(__item =\u003e __item.Id).ToList(),\n EnableDeletionProtection = true,\n Tags = \n {\n { \"Environment\", \"production\" },\n },\n });\n }\n\n}\n```\n{{% /example %}}\n{{% example %}}\n### Specifying Elastic IPs\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {\n loadBalancerType: \"network\",\n subnetMappings: [\n {\n subnetId: aws_subnet.example1.id,\n allocationId: aws_eip.example1.id,\n },\n {\n subnetId: aws_subnet.example2.id,\n allocationId: aws_eip.example2.id,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\",\n load_balancer_type=\"network\",\n subnet_mappings=[\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=aws_subnet[\"example1\"][\"id\"],\n allocation_id=aws_eip[\"example1\"][\"id\"],\n ),\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=aws_subnet[\"example2\"][\"id\"],\n allocation_id=aws_eip[\"example2\"][\"id\"],\n ),\n ])\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Aws.LB.LoadBalancer(\"example\", new Aws.LB.LoadBalancerArgs\n {\n LoadBalancerType = \"network\",\n SubnetMappings = \n {\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = aws_subnet.Example1.Id,\n AllocationId = aws_eip.Example1.Id,\n },\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = aws_subnet.Example2.Id,\n AllocationId = aws_eip.Example2.Id,\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tLoadBalancerType: pulumi.String(\"network\"),\n\t\t\tSubnetMappings: lb.LoadBalancerSubnetMappingArray{\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(aws_subnet.Example1.Id),\n\t\t\t\t\tAllocationId: pulumi.Any(aws_eip.Example1.Id),\n\t\t\t\t},\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(aws_subnet.Example2.Id),\n\t\t\t\t\tAllocationId: pulumi.Any(aws_eip.Example2.Id),\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{{% /example %}}\n{{% example %}}\n### Specifying private IP addresses for an internal-facing load balancer\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {\n loadBalancerType: \"network\",\n subnetMappings: [\n {\n subnetId: aws_subnet.example1.id,\n privateIpv4Address: \"10.0.1.15\",\n },\n {\n subnetId: aws_subnet.example2.id,\n privateIpv4Address: \"10.0.2.15\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\",\n load_balancer_type=\"network\",\n subnet_mappings=[\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=aws_subnet[\"example1\"][\"id\"],\n private_ipv4_address=\"10.0.1.15\",\n ),\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=aws_subnet[\"example2\"][\"id\"],\n private_ipv4_address=\"10.0.2.15\",\n ),\n ])\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Aws.LB.LoadBalancer(\"example\", new Aws.LB.LoadBalancerArgs\n {\n LoadBalancerType = \"network\",\n SubnetMappings = \n {\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = aws_subnet.Example1.Id,\n PrivateIpv4Address = \"10.0.1.15\",\n },\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = aws_subnet.Example2.Id,\n PrivateIpv4Address = \"10.0.2.15\",\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tLoadBalancerType: pulumi.String(\"network\"),\n\t\t\tSubnetMappings: lb.LoadBalancerSubnetMappingArray{\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(aws_subnet.Example1.Id),\n\t\t\t\t\tPrivateIpv4Address: pulumi.String(\"10.0.1.15\"),\n\t\t\t\t},\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(aws_subnet.Example2.Id),\n\t\t\t\t\tPrivateIpv4Address: pulumi.String(\"10.0.2.15\"),\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{{% /example %}}\n{{% /examples %}}", "properties": { "accessLogs": { "$ref": "#/types/aws:alb/LoadBalancerAccessLogs:LoadBalancerAccessLogs", @@ -129152,7 +130089,7 @@ }, "stickiness": { "$ref": "#/types/aws:alb/TargetGroupStickiness:TargetGroupStickiness", - "description": "A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application`\n" + "description": "A Stickiness block. Stickiness blocks are documented below.\n" }, "tags": { "type": "object", @@ -129221,7 +130158,7 @@ }, "stickiness": { "$ref": "#/types/aws:alb/TargetGroupStickiness:TargetGroupStickiness", - "description": "A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application`\n" + "description": "A Stickiness block. Stickiness blocks are documented below.\n" }, "tags": { "type": "object", @@ -129292,7 +130229,7 @@ }, "stickiness": { "$ref": "#/types/aws:alb/TargetGroupStickiness:TargetGroupStickiness", - "description": "A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application`\n" + "description": "A Stickiness block. Stickiness blocks are documented below.\n" }, "tags": { "type": "object", @@ -132029,7 +132966,7 @@ }, "productCode": { "type": "string", - "description": "The AWS Markeplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace.\n" + "description": "The AWS Marketplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace.\n" }, "quotaSettings": { "$ref": "#/types/aws:apigateway/UsagePlanQuotaSettings:UsagePlanQuotaSettings", @@ -132069,7 +133006,7 @@ }, "productCode": { "type": "string", - "description": "The AWS Markeplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace.\n" + "description": "The AWS Marketplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace.\n" }, "quotaSettings": { "$ref": "#/types/aws:apigateway/UsagePlanQuotaSettings:UsagePlanQuotaSettings", @@ -132111,7 +133048,7 @@ }, "productCode": { "type": "string", - "description": "The AWS Markeplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace.\n" + "description": "The AWS Marketplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace.\n" }, "quotaSettings": { "$ref": "#/types/aws:apigateway/UsagePlanQuotaSettings:UsagePlanQuotaSettings", @@ -134522,7 +135459,7 @@ "deprecationMessage": "aws.applicationloadbalancing.ListenerRule has been deprecated in favor of aws.alb.ListenerRule" }, "aws:applicationloadbalancing/loadBalancer:LoadBalancer": { - "description": "Provides a Load Balancer resource.\n\n\u003e **Note:** `aws.alb.LoadBalancer` is known as `aws.lb.LoadBalancer`. The functionality is identical.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Application Load Balancer\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.LoadBalancer(\"test\", {\n internal: false,\n loadBalancerType: \"application\",\n securityGroups: [aws_security_group.lb_sg.id],\n subnets: [aws_subnet[\"public\"].map(__item =\u003e __item.id)],\n enableDeletionProtection: true,\n accessLogs: {\n bucket: aws_s3_bucket.lb_logs.bucket,\n prefix: \"test-lb\",\n enabled: true,\n },\n tags: {\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.LoadBalancer(\"test\",\n internal=False,\n load_balancer_type=\"application\",\n security_groups=[aws_security_group[\"lb_sg\"][\"id\"]],\n subnets=[[__item[\"id\"] for __item in aws_subnet[\"public\"]]],\n enable_deletion_protection=True,\n access_logs=aws.lb.LoadBalancerAccessLogsArgs(\n bucket=aws_s3_bucket[\"lb_logs\"][\"bucket\"],\n prefix=\"test-lb\",\n enabled=True,\n ),\n tags={\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var test = new Aws.LB.LoadBalancer(\"test\", new Aws.LB.LoadBalancerArgs\n {\n Internal = false,\n LoadBalancerType = \"application\",\n SecurityGroups = \n {\n aws_security_group.Lb_sg.Id,\n },\n Subnets = \n {\n aws_subnet.Public.Select(__item =\u003e __item.Id).ToList(),\n },\n EnableDeletionProtection = true,\n AccessLogs = new Aws.LB.Inputs.LoadBalancerAccessLogsArgs\n {\n Bucket = aws_s3_bucket.Lb_logs.Bucket,\n Prefix = \"test-lb\",\n Enabled = true,\n },\n Tags = \n {\n { \"Environment\", \"production\" },\n },\n });\n }\n\n}\n```\n{{% /example %}}\n{{% example %}}\n### Network Load Balancer\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.LoadBalancer(\"test\", {\n internal: false,\n loadBalancerType: \"network\",\n subnets: [aws_subnet[\"public\"].map(__item =\u003e __item.id)],\n enableDeletionProtection: true,\n tags: {\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.LoadBalancer(\"test\",\n internal=False,\n load_balancer_type=\"network\",\n subnets=[[__item[\"id\"] for __item in aws_subnet[\"public\"]]],\n enable_deletion_protection=True,\n tags={\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var test = new Aws.LB.LoadBalancer(\"test\", new Aws.LB.LoadBalancerArgs\n {\n Internal = false,\n LoadBalancerType = \"network\",\n Subnets = \n {\n aws_subnet.Public.Select(__item =\u003e __item.Id).ToList(),\n },\n EnableDeletionProtection = true,\n Tags = \n {\n { \"Environment\", \"production\" },\n },\n });\n }\n\n}\n```\n{{% /example %}}\n{{% example %}}\n### Specifying Elastic IPs\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {\n loadBalancerType: \"network\",\n subnetMappings: [\n {\n subnetId: aws_subnet.example1.id,\n allocationId: aws_eip.example1.id,\n },\n {\n subnetId: aws_subnet.example2.id,\n allocationId: aws_eip.example2.id,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\",\n load_balancer_type=\"network\",\n subnet_mappings=[\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=aws_subnet[\"example1\"][\"id\"],\n allocation_id=aws_eip[\"example1\"][\"id\"],\n ),\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=aws_subnet[\"example2\"][\"id\"],\n allocation_id=aws_eip[\"example2\"][\"id\"],\n ),\n ])\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Aws.LB.LoadBalancer(\"example\", new Aws.LB.LoadBalancerArgs\n {\n LoadBalancerType = \"network\",\n SubnetMappings = \n {\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = aws_subnet.Example1.Id,\n AllocationId = aws_eip.Example1.Id,\n },\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = aws_subnet.Example2.Id,\n AllocationId = aws_eip.Example2.Id,\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tLoadBalancerType: pulumi.String(\"network\"),\n\t\t\tSubnetMappings: lb.LoadBalancerSubnetMappingArray{\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(aws_subnet.Example1.Id),\n\t\t\t\t\tAllocationId: pulumi.Any(aws_eip.Example1.Id),\n\t\t\t\t},\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(aws_subnet.Example2.Id),\n\t\t\t\t\tAllocationId: pulumi.Any(aws_eip.Example2.Id),\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{{% /example %}}\n{{% example %}}\n### Specifying private IP addresses for an internal-facing load balancer\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {\n loadBalancerType: \"network\",\n subnetMappings: [\n {\n subnetId: aws_subnet.example1.id,\n privateIpv4Address: \"10.0.1.15\",\n },\n {\n subnetId: aws_subnet.example2.id,\n privateIpv4Address: \"10.0.2.15\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\",\n load_balancer_type=\"network\",\n subnet_mappings=[\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=aws_subnet[\"example1\"][\"id\"],\n private_ipv4_address=\"10.0.1.15\",\n ),\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=aws_subnet[\"example2\"][\"id\"],\n private_ipv4_address=\"10.0.2.15\",\n ),\n ])\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Aws.LB.LoadBalancer(\"example\", new Aws.LB.LoadBalancerArgs\n {\n LoadBalancerType = \"network\",\n SubnetMappings = \n {\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = aws_subnet.Example1.Id,\n PrivateIpv4Address = \"10.0.1.15\",\n },\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = aws_subnet.Example2.Id,\n PrivateIpv4Address = \"10.0.2.15\",\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tLoadBalancerType: pulumi.String(\"network\"),\n\t\t\tSubnetMappings: lb.LoadBalancerSubnetMappingArray{\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(aws_subnet.Example1.Id),\n\t\t\t\t\tPrivateIpv4Address: pulumi.String(\"10.0.1.15\"),\n\t\t\t\t},\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(aws_subnet.Example2.Id),\n\t\t\t\t\tPrivateIpv4Address: pulumi.String(\"10.0.2.15\"),\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{{% /example %}}\n{{% /examples %}}", + "description": "Provides a Load Balancer resource.\n\n\u003e **Note:** `aws.alb.LoadBalancer` is known as `aws.lb.LoadBalancer`. The functionality is identical.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Application Load Balancer\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.LoadBalancer(\"test\", {\n internal: false,\n loadBalancerType: \"application\",\n securityGroups: [aws_security_group.lb_sg.id],\n subnets: aws_subnet[\"public\"].map(__item =\u003e __item.id),\n enableDeletionProtection: true,\n accessLogs: {\n bucket: aws_s3_bucket.lb_logs.bucket,\n prefix: \"test-lb\",\n enabled: true,\n },\n tags: {\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.LoadBalancer(\"test\",\n internal=False,\n load_balancer_type=\"application\",\n security_groups=[aws_security_group[\"lb_sg\"][\"id\"]],\n subnets=[__item[\"id\"] for __item in aws_subnet[\"public\"]],\n enable_deletion_protection=True,\n access_logs=aws.lb.LoadBalancerAccessLogsArgs(\n bucket=aws_s3_bucket[\"lb_logs\"][\"bucket\"],\n prefix=\"test-lb\",\n enabled=True,\n ),\n tags={\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var test = new Aws.LB.LoadBalancer(\"test\", new Aws.LB.LoadBalancerArgs\n {\n Internal = false,\n LoadBalancerType = \"application\",\n SecurityGroups = \n {\n aws_security_group.Lb_sg.Id,\n },\n Subnets = aws_subnet.Public.Select(__item =\u003e __item.Id).ToList(),\n EnableDeletionProtection = true,\n AccessLogs = new Aws.LB.Inputs.LoadBalancerAccessLogsArgs\n {\n Bucket = aws_s3_bucket.Lb_logs.Bucket,\n Prefix = \"test-lb\",\n Enabled = true,\n },\n Tags = \n {\n { \"Environment\", \"production\" },\n },\n });\n }\n\n}\n```\n{{% /example %}}\n{{% example %}}\n### Network Load Balancer\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.LoadBalancer(\"test\", {\n internal: false,\n loadBalancerType: \"network\",\n subnets: aws_subnet[\"public\"].map(__item =\u003e __item.id),\n enableDeletionProtection: true,\n tags: {\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.LoadBalancer(\"test\",\n internal=False,\n load_balancer_type=\"network\",\n subnets=[__item[\"id\"] for __item in aws_subnet[\"public\"]],\n enable_deletion_protection=True,\n tags={\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var test = new Aws.LB.LoadBalancer(\"test\", new Aws.LB.LoadBalancerArgs\n {\n Internal = false,\n LoadBalancerType = \"network\",\n Subnets = aws_subnet.Public.Select(__item =\u003e __item.Id).ToList(),\n EnableDeletionProtection = true,\n Tags = \n {\n { \"Environment\", \"production\" },\n },\n });\n }\n\n}\n```\n{{% /example %}}\n{{% example %}}\n### Specifying Elastic IPs\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {\n loadBalancerType: \"network\",\n subnetMappings: [\n {\n subnetId: aws_subnet.example1.id,\n allocationId: aws_eip.example1.id,\n },\n {\n subnetId: aws_subnet.example2.id,\n allocationId: aws_eip.example2.id,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\",\n load_balancer_type=\"network\",\n subnet_mappings=[\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=aws_subnet[\"example1\"][\"id\"],\n allocation_id=aws_eip[\"example1\"][\"id\"],\n ),\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=aws_subnet[\"example2\"][\"id\"],\n allocation_id=aws_eip[\"example2\"][\"id\"],\n ),\n ])\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Aws.LB.LoadBalancer(\"example\", new Aws.LB.LoadBalancerArgs\n {\n LoadBalancerType = \"network\",\n SubnetMappings = \n {\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = aws_subnet.Example1.Id,\n AllocationId = aws_eip.Example1.Id,\n },\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = aws_subnet.Example2.Id,\n AllocationId = aws_eip.Example2.Id,\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tLoadBalancerType: pulumi.String(\"network\"),\n\t\t\tSubnetMappings: lb.LoadBalancerSubnetMappingArray{\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(aws_subnet.Example1.Id),\n\t\t\t\t\tAllocationId: pulumi.Any(aws_eip.Example1.Id),\n\t\t\t\t},\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(aws_subnet.Example2.Id),\n\t\t\t\t\tAllocationId: pulumi.Any(aws_eip.Example2.Id),\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{{% /example %}}\n{{% example %}}\n### Specifying private IP addresses for an internal-facing load balancer\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {\n loadBalancerType: \"network\",\n subnetMappings: [\n {\n subnetId: aws_subnet.example1.id,\n privateIpv4Address: \"10.0.1.15\",\n },\n {\n subnetId: aws_subnet.example2.id,\n privateIpv4Address: \"10.0.2.15\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\",\n load_balancer_type=\"network\",\n subnet_mappings=[\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=aws_subnet[\"example1\"][\"id\"],\n private_ipv4_address=\"10.0.1.15\",\n ),\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=aws_subnet[\"example2\"][\"id\"],\n private_ipv4_address=\"10.0.2.15\",\n ),\n ])\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Aws.LB.LoadBalancer(\"example\", new Aws.LB.LoadBalancerArgs\n {\n LoadBalancerType = \"network\",\n SubnetMappings = \n {\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = aws_subnet.Example1.Id,\n PrivateIpv4Address = \"10.0.1.15\",\n },\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = aws_subnet.Example2.Id,\n PrivateIpv4Address = \"10.0.2.15\",\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tLoadBalancerType: pulumi.String(\"network\"),\n\t\t\tSubnetMappings: lb.LoadBalancerSubnetMappingArray{\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(aws_subnet.Example1.Id),\n\t\t\t\t\tPrivateIpv4Address: pulumi.String(\"10.0.1.15\"),\n\t\t\t\t},\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(aws_subnet.Example2.Id),\n\t\t\t\t\tPrivateIpv4Address: pulumi.String(\"10.0.2.15\"),\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{{% /example %}}\n{{% /examples %}}", "properties": { "accessLogs": { "$ref": "#/types/aws:applicationloadbalancing/LoadBalancerAccessLogs:LoadBalancerAccessLogs", @@ -134873,7 +135810,7 @@ }, "stickiness": { "$ref": "#/types/aws:applicationloadbalancing/TargetGroupStickiness:TargetGroupStickiness", - "description": "A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application`\n" + "description": "A Stickiness block. Stickiness blocks are documented below.\n" }, "tags": { "type": "object", @@ -134942,7 +135879,7 @@ }, "stickiness": { "$ref": "#/types/aws:applicationloadbalancing/TargetGroupStickiness:TargetGroupStickiness", - "description": "A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application`\n" + "description": "A Stickiness block. Stickiness blocks are documented below.\n" }, "tags": { "type": "object", @@ -135013,7 +135950,7 @@ }, "stickiness": { "$ref": "#/types/aws:applicationloadbalancing/TargetGroupStickiness:TargetGroupStickiness", - "description": "A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application`\n" + "description": "A Stickiness block. Stickiness blocks are documented below.\n" }, "tags": { "type": "object", @@ -136643,7 +137580,7 @@ } }, "aws:autoscaling/attachment:Attachment": { - "description": "Provides an AutoScaling Attachment resource.\n\n\u003e **NOTE on AutoScaling Groups and ASG Attachments:** This provider currently provides\nboth a standalone ASG Attachment resource (describing an ASG attached to\nan ELB or ALB), and an AutoScaling Group resource with\n`load_balancers` and `target_group_arns` defined in-line. At this time you can use an ASG with in-line\n`load balancers` or `target_group_arns` in conjunction with an ASG Attachment resource, however, to prevent\nunintended resource updates, the `aws.autoscaling.Group` resource must be configured\nto ignore changes to the `load_balancers` and `target_group_arns` arguments within a [`lifecycle` configuration block](https://www.terraform.io/docs/configuration/resources.html#lifecycle-lifecycle-customizations).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create a new load balancer attachment\nconst asgAttachmentBar = new aws.autoscaling.Attachment(\"asgAttachmentBar\", {\n autoscalingGroupName: aws_autoscaling_group.asg.id,\n elb: aws_elb.bar.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create a new load balancer attachment\nasg_attachment_bar = aws.autoscaling.Attachment(\"asgAttachmentBar\",\n autoscaling_group_name=aws_autoscaling_group[\"asg\"][\"id\"],\n elb=aws_elb[\"bar\"][\"id\"])\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n // Create a new load balancer attachment\n var asgAttachmentBar = new Aws.AutoScaling.Attachment(\"asgAttachmentBar\", new Aws.AutoScaling.AttachmentArgs\n {\n AutoscalingGroupName = aws_autoscaling_group.Asg.Id,\n Elb = aws_elb.Bar.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := autoscaling.NewAttachment(ctx, \"asgAttachmentBar\", \u0026autoscaling.AttachmentArgs{\n\t\t\tAutoscalingGroupName: pulumi.Any(aws_autoscaling_group.Asg.Id),\n\t\t\tElb: pulumi.Any(aws_elb.Bar.Id),\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\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create a new ALB Target Group attachment\nconst asgAttachmentBar = new aws.autoscaling.Attachment(\"asgAttachmentBar\", {\n autoscalingGroupName: aws_autoscaling_group.asg.id,\n albTargetGroupArn: aws_alb_target_group.test.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create a new ALB Target Group attachment\nasg_attachment_bar = aws.autoscaling.Attachment(\"asgAttachmentBar\",\n autoscaling_group_name=aws_autoscaling_group[\"asg\"][\"id\"],\n alb_target_group_arn=aws_alb_target_group[\"test\"][\"arn\"])\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n // Create a new ALB Target Group attachment\n var asgAttachmentBar = new Aws.AutoScaling.Attachment(\"asgAttachmentBar\", new Aws.AutoScaling.AttachmentArgs\n {\n AutoscalingGroupName = aws_autoscaling_group.Asg.Id,\n AlbTargetGroupArn = aws_alb_target_group.Test.Arn,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := autoscaling.NewAttachment(ctx, \"asgAttachmentBar\", \u0026autoscaling.AttachmentArgs{\n\t\t\tAutoscalingGroupName: pulumi.Any(aws_autoscaling_group.Asg.Id),\n\t\t\tAlbTargetGroupArn: pulumi.Any(aws_alb_target_group.Test.Arn),\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{{% /example %}}\n{{% /examples %}}\n## With An AutoScaling Group Resource\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// ... other configuration ...\nconst asg = new aws.autoscaling.Group(\"asg\", {});\nconst asgAttachmentBar = new aws.autoscaling.Attachment(\"asgAttachmentBar\", {\n autoscalingGroupName: asg.id,\n elb: aws_elb.test.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# ... other configuration ...\nasg = aws.autoscaling.Group(\"asg\")\nasg_attachment_bar = aws.autoscaling.Attachment(\"asgAttachmentBar\",\n autoscaling_group_name=asg.id,\n elb=aws_elb[\"test\"][\"id\"])\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n // ... other configuration ...\n var asg = new Aws.AutoScaling.Group(\"asg\", new Aws.AutoScaling.GroupArgs\n {\n });\n var asgAttachmentBar = new Aws.AutoScaling.Attachment(\"asgAttachmentBar\", new Aws.AutoScaling.AttachmentArgs\n {\n AutoscalingGroupName = asg.Id,\n Elb = aws_elb.Test.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tasg, err := autoscaling.NewGroup(ctx, \"asg\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewAttachment(ctx, \"asgAttachmentBar\", \u0026autoscaling.AttachmentArgs{\n\t\t\tAutoscalingGroupName: asg.ID(),\n\t\t\tElb: pulumi.Any(aws_elb.Test.Id),\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", + "description": "Provides an Auto Scaling Attachment resource.\n\n\u003e **NOTE on Auto Scaling Groups and ASG Attachments:** This provider currently provides\nboth a standalone `aws.autoscaling.Attachment` resource\n(describing an ASG attached to an ELB or ALB), and an `aws.autoscaling.Group`\nwith `load_balancers` and `target_group_arns` defined in-line. These two methods are not\nmutually-exclusive. If `aws.autoscaling.Attachment` resources are used, either alone or with inline\n`load_balancers` or `target_group_arns`, the `aws.autoscaling.Group` resource must be configured\nto [ignore changes](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) to the `load_balancers` and `target_group_arns` arguments.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create a new load balancer attachment\nconst asgAttachmentBar = new aws.autoscaling.Attachment(\"asgAttachmentBar\", {\n autoscalingGroupName: aws_autoscaling_group.asg.id,\n elb: aws_elb.bar.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create a new load balancer attachment\nasg_attachment_bar = aws.autoscaling.Attachment(\"asgAttachmentBar\",\n autoscaling_group_name=aws_autoscaling_group[\"asg\"][\"id\"],\n elb=aws_elb[\"bar\"][\"id\"])\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n // Create a new load balancer attachment\n var asgAttachmentBar = new Aws.AutoScaling.Attachment(\"asgAttachmentBar\", new Aws.AutoScaling.AttachmentArgs\n {\n AutoscalingGroupName = aws_autoscaling_group.Asg.Id,\n Elb = aws_elb.Bar.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := autoscaling.NewAttachment(ctx, \"asgAttachmentBar\", \u0026autoscaling.AttachmentArgs{\n\t\t\tAutoscalingGroupName: pulumi.Any(aws_autoscaling_group.Asg.Id),\n\t\t\tElb: pulumi.Any(aws_elb.Bar.Id),\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\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Create a new ALB Target Group attachment\nconst asgAttachmentBar = new aws.autoscaling.Attachment(\"asgAttachmentBar\", {\n autoscalingGroupName: aws_autoscaling_group.asg.id,\n albTargetGroupArn: aws_alb_target_group.test.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Create a new ALB Target Group attachment\nasg_attachment_bar = aws.autoscaling.Attachment(\"asgAttachmentBar\",\n autoscaling_group_name=aws_autoscaling_group[\"asg\"][\"id\"],\n alb_target_group_arn=aws_alb_target_group[\"test\"][\"arn\"])\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n // Create a new ALB Target Group attachment\n var asgAttachmentBar = new Aws.AutoScaling.Attachment(\"asgAttachmentBar\", new Aws.AutoScaling.AttachmentArgs\n {\n AutoscalingGroupName = aws_autoscaling_group.Asg.Id,\n AlbTargetGroupArn = aws_alb_target_group.Test.Arn,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := autoscaling.NewAttachment(ctx, \"asgAttachmentBar\", \u0026autoscaling.AttachmentArgs{\n\t\t\tAutoscalingGroupName: pulumi.Any(aws_autoscaling_group.Asg.Id),\n\t\t\tAlbTargetGroupArn: pulumi.Any(aws_alb_target_group.Test.Arn),\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{{% /example %}}\n{{% /examples %}}\n## With An AutoScaling Group Resource\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// ... other configuration ...\nconst asg = new aws.autoscaling.Group(\"asg\", {});\nconst asgAttachmentBar = new aws.autoscaling.Attachment(\"asgAttachmentBar\", {\n autoscalingGroupName: asg.id,\n elb: aws_elb.test.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# ... other configuration ...\nasg = aws.autoscaling.Group(\"asg\")\nasg_attachment_bar = aws.autoscaling.Attachment(\"asgAttachmentBar\",\n autoscaling_group_name=asg.id,\n elb=aws_elb[\"test\"][\"id\"])\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n // ... other configuration ...\n var asg = new Aws.AutoScaling.Group(\"asg\", new Aws.AutoScaling.GroupArgs\n {\n });\n var asgAttachmentBar = new Aws.AutoScaling.Attachment(\"asgAttachmentBar\", new Aws.AutoScaling.AttachmentArgs\n {\n AutoscalingGroupName = asg.Id,\n Elb = aws_elb.Test.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tasg, err := autoscaling.NewGroup(ctx, \"asg\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewAttachment(ctx, \"asgAttachmentBar\", \u0026autoscaling.AttachmentArgs{\n\t\t\tAutoscalingGroupName: asg.ID(),\n\t\t\tElb: pulumi.Any(aws_elb.Test.Id),\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", "properties": { "albTargetGroupArn": { "type": "string", @@ -136698,7 +137635,6 @@ } }, "aws:autoscaling/group:Group": { - "description": "Provides an AutoScaling Group resource.\n\n\u003e **Note:** You must specify either `launch_configuration`, `launch_template`, or `mixed_instances_policy`.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### With Latest Version Of Launch Template\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foobar = new aws.ec2.LaunchTemplate(\"foobar\", {\n namePrefix: \"foobar\",\n imageId: \"ami-1a2b3c\",\n instanceType: \"t2.micro\",\n});\nconst bar = new aws.autoscaling.Group(\"bar\", {\n availabilityZones: [\"us-east-1a\"],\n desiredCapacity: 1,\n maxSize: 1,\n minSize: 1,\n launchTemplate: {\n id: foobar.id,\n version: `$Latest`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoobar = aws.ec2.LaunchTemplate(\"foobar\",\n name_prefix=\"foobar\",\n image_id=\"ami-1a2b3c\",\n instance_type=\"t2.micro\")\nbar = aws.autoscaling.Group(\"bar\",\n availability_zones=[\"us-east-1a\"],\n desired_capacity=1,\n max_size=1,\n min_size=1,\n launch_template=aws.autoscaling.GroupLaunchTemplateArgs(\n id=foobar.id,\n version=\"$Latest\",\n ))\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var foobar = new Aws.Ec2.LaunchTemplate(\"foobar\", new Aws.Ec2.LaunchTemplateArgs\n {\n NamePrefix = \"foobar\",\n ImageId = \"ami-1a2b3c\",\n InstanceType = \"t2.micro\",\n });\n var bar = new Aws.AutoScaling.Group(\"bar\", new Aws.AutoScaling.GroupArgs\n {\n AvailabilityZones = \n {\n \"us-east-1a\",\n },\n DesiredCapacity = 1,\n MaxSize = 1,\n MinSize = 1,\n LaunchTemplate = new Aws.AutoScaling.Inputs.GroupLaunchTemplateArgs\n {\n Id = foobar.Id,\n Version = \"$Latest\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoobar, err := ec2.NewLaunchTemplate(ctx, \"foobar\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tNamePrefix: pulumi.String(\"foobar\"),\n\t\t\tImageId: pulumi.String(\"ami-1a2b3c\"),\n\t\t\tInstanceType: pulumi.String(\"t2.micro\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewGroup(ctx, \"bar\", \u0026autoscaling.GroupArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tDesiredCapacity: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tLaunchTemplate: \u0026autoscaling.GroupLaunchTemplateArgs{\n\t\t\t\tId: foobar.ID(),\n\t\t\t\tVersion: pulumi.String(fmt.Sprintf(\"%v%v\", \"$\", \"Latest\")),\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{{% /example %}}\n{{% example %}}\n### Mixed Instances Policy\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleLaunchTemplate = new aws.ec2.LaunchTemplate(\"exampleLaunchTemplate\", {\n namePrefix: \"example\",\n imageId: data.aws_ami.example.id,\n instanceType: \"c5.large\",\n});\nconst exampleGroup = new aws.autoscaling.Group(\"exampleGroup\", {\n availabilityZones: [\"us-east-1a\"],\n desiredCapacity: 1,\n maxSize: 1,\n minSize: 1,\n mixedInstancesPolicy: {\n launchTemplate: {\n launchTemplateSpecification: {\n launchTemplateId: exampleLaunchTemplate.id,\n },\n overrides: [\n {\n instanceType: \"c4.large\",\n weightedCapacity: \"3\",\n },\n {\n instanceType: \"c3.large\",\n weightedCapacity: \"2\",\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_launch_template = aws.ec2.LaunchTemplate(\"exampleLaunchTemplate\",\n name_prefix=\"example\",\n image_id=data[\"aws_ami\"][\"example\"][\"id\"],\n instance_type=\"c5.large\")\nexample_group = aws.autoscaling.Group(\"exampleGroup\",\n availability_zones=[\"us-east-1a\"],\n desired_capacity=1,\n max_size=1,\n min_size=1,\n mixed_instances_policy=aws.autoscaling.GroupMixedInstancesPolicyArgs(\n launch_template={\n \"launchTemplateSpecification\": {\n \"launchTemplateId\": example_launch_template.id,\n },\n \"overrides\": [\n {\n \"instance_type\": \"c4.large\",\n \"weightedCapacity\": \"3\",\n },\n {\n \"instance_type\": \"c3.large\",\n \"weightedCapacity\": \"2\",\n },\n ],\n },\n ))\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleLaunchTemplate = new Aws.Ec2.LaunchTemplate(\"exampleLaunchTemplate\", new Aws.Ec2.LaunchTemplateArgs\n {\n NamePrefix = \"example\",\n ImageId = data.Aws_ami.Example.Id,\n InstanceType = \"c5.large\",\n });\n var exampleGroup = new Aws.AutoScaling.Group(\"exampleGroup\", new Aws.AutoScaling.GroupArgs\n {\n AvailabilityZones = \n {\n \"us-east-1a\",\n },\n DesiredCapacity = 1,\n MaxSize = 1,\n MinSize = 1,\n MixedInstancesPolicy = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyArgs\n {\n LaunchTemplate = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateArgs\n {\n LaunchTemplateSpecification = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs\n {\n LaunchTemplateId = exampleLaunchTemplate.Id,\n },\n Overrides = \n {\n new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs\n {\n InstanceType = \"c4.large\",\n WeightedCapacity = \"3\",\n },\n new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs\n {\n InstanceType = \"c3.large\",\n WeightedCapacity = \"2\",\n },\n },\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/autoscaling\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleLaunchTemplate, err := ec2.NewLaunchTemplate(ctx, \"exampleLaunchTemplate\", \u0026ec2.LaunchTemplateArgs{\n\t\t\tNamePrefix: pulumi.String(\"example\"),\n\t\t\tImageId: pulumi.Any(data.Aws_ami.Example.Id),\n\t\t\tInstanceType: pulumi.String(\"c5.large\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autoscaling.NewGroup(ctx, \"exampleGroup\", \u0026autoscaling.GroupArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tDesiredCapacity: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tMixedInstancesPolicy: \u0026autoscaling.GroupMixedInstancesPolicyArgs{\n\t\t\t\tLaunchTemplate: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs{\n\t\t\t\t\tLaunchTemplateSpecification: \u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs{\n\t\t\t\t\t\tLaunchTemplateId: exampleLaunchTemplate.ID(),\n\t\t\t\t\t},\n\t\t\t\t\tOverrides: autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArray{\n\t\t\t\t\t\t\u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{\n\t\t\t\t\t\t\tInstanceType: pulumi.String(\"c4.large\"),\n\t\t\t\t\t\t\tWeightedCapacity: pulumi.String(\"3\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{\n\t\t\t\t\t\t\tInstanceType: pulumi.String(\"c3.large\"),\n\t\t\t\t\t\t\tWeightedCapacity: pulumi.String(\"2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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{{% /example %}}\n{{% /examples %}}\n## Waiting for Capacity\n\nA newly-created ASG is initially empty and begins to scale to `min_size` (or\n`desired_capacity`, if specified) by launching instances using the provided\nLaunch Configuration. These instances take time to launch and boot.\n\nOn ASG Update, changes to these values also take time to result in the target\nnumber of instances providing service.\n\nThis provider provides two mechanisms to help consistently manage ASG scale up\ntime across dependent resources.\n\n#### Waiting for ASG Capacity\n\nThe first is default behavior. This provider waits after ASG creation for\n`min_size` (or `desired_capacity`, if specified) healthy instances to show up\nin the ASG before continuing.\n\nIf `min_size` or `desired_capacity` are changed in a subsequent update,\nthis provider will also wait for the correct number of healthy instances before\ncontinuing.\n\nThis provider considers an instance \"healthy\" when the ASG reports `HealthStatus:\n\"Healthy\"` and `LifecycleState: \"InService\"`. See the [AWS AutoScaling\nDocs](https://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingGroupLifecycle.html)\nfor more information on an ASG's lifecycle.\n\nThis provider will wait for healthy instances for up to\n`wait_for_capacity_timeout`. If ASG creation is taking more than a few minutes,\nit's worth investigating for scaling activity errors, which can be caused by\nproblems with the selected Launch Configuration.\n\nSetting `wait_for_capacity_timeout` to `\"0\"` disables ASG Capacity waiting.\n\n#### Waiting for ELB Capacity\n\nThe second mechanism is optional, and affects ASGs with attached ELBs specified\nvia the `load_balancers` attribute or with ALBs specified with `target_group_arns`.\n\nThe `min_elb_capacity` parameter causes this provider to wait for at least the\nrequested number of instances to show up `\"InService\"` in all attached ELBs\nduring ASG creation. It has no effect on ASG updates.\n\nIf `wait_for_elb_capacity` is set, this provider will wait for exactly that number\nof Instances to be `\"InService\"` in all attached ELBs on both creation and\nupdates.\n\nThese parameters can be used to ensure that service is being provided before\nthis provider moves on. If new instances don't pass the ELB's health checks for any\nreason, the deployment will time out, and the ASG will be marked as\ntainted (i.e. marked to be destroyed in a follow up run).\n\nAs with ASG Capacity, this provider will wait for up to `wait_for_capacity_timeout`\nfor the proper number of instances to be healthy.\n\n#### Troubleshooting Capacity Waiting Timeouts\n\nIf ASG creation takes more than a few minutes, this could indicate one of a\nnumber of configuration problems. See the [AWS Docs on Load Balancer\nTroubleshooting](https://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elb-troubleshooting.html)\nfor more information.\n", "properties": { "arn": { "type": "string", @@ -138140,6 +139076,13 @@ "type": "string", "description": "A short, human-readable string to provide additional details about the current status of the compute environment.\n" }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value pair tags to be applied to resources that are launched in the compute environment.\n" + }, "type": { "type": "string", "description": "The type of compute environment. Valid items are `EC2` or `SPOT`.\n" @@ -138175,6 +139118,13 @@ "type": "string", "description": "The state of the compute environment. If the state is `ENABLED`, then the compute environment accepts jobs from a queue and can scale out automatically based on queues. Valid items are `ENABLED` or `DISABLED`. Defaults to `ENABLED`.\n" }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value pair tags to be applied to resources that are launched in the compute environment.\n" + }, "type": { "type": "string", "description": "The type of compute environment. Valid items are `EC2` or `SPOT`.\n" @@ -138223,6 +139173,13 @@ "type": "string", "description": "A short, human-readable string to provide additional details about the current status of the compute environment.\n" }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value pair tags to be applied to resources that are launched in the compute environment.\n" + }, "type": { "type": "string", "description": "The type of compute environment. Valid items are `EC2` or `SPOT`.\n" @@ -138261,6 +139218,13 @@ "type": "integer", "description": "The revision of the job definition.\n" }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags\n" + }, "timeout": { "$ref": "#/types/aws:batch/JobDefinitionTimeout:JobDefinitionTimeout", "description": "Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below.\n" @@ -138296,6 +139260,13 @@ "$ref": "#/types/aws:batch/JobDefinitionRetryStrategy:JobDefinitionRetryStrategy", "description": "Specifies the retry strategy to use for failed jobs that are submitted with this job definition.\nMaximum number of `retry_strategy` is `1`. Defined below.\n" }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags\n" + }, "timeout": { "$ref": "#/types/aws:batch/JobDefinitionTimeout:JobDefinitionTimeout", "description": "Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below.\n" @@ -138338,6 +139309,13 @@ "type": "integer", "description": "The revision of the job definition.\n" }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags\n" + }, "timeout": { "$ref": "#/types/aws:batch/JobDefinitionTimeout:JobDefinitionTimeout", "description": "Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below.\n" @@ -138375,6 +139353,13 @@ "state": { "type": "string", "description": "The state of the job queue. Must be one of: `ENABLED` or `DISABLED`\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags\n" } }, "required": [ @@ -138403,6 +139388,13 @@ "state": { "type": "string", "description": "The state of the job queue. Must be one of: `ENABLED` or `DISABLED`\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags\n" } }, "requiredInputs": [ @@ -138435,6 +139427,13 @@ "state": { "type": "string", "description": "The state of the job queue. Must be one of: `ENABLED` or `DISABLED`\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags\n" } }, "type": "object" @@ -140336,7 +141335,7 @@ }, "webAclId": { "type": "string", - "description": "If you're using AWS WAF to filter CloudFront\nrequests, the Id of the AWS WAF web ACL that is associated with the\ndistribution. The WAF Web ACL must exist in the WAF Global (CloudFront)\nregion and the credentials configuring this argument must have\n`waf:GetWebACL` permissions assigned. If using WAFv2, provide the ARN of the web ACL.\n" + "description": "A unique identifier that specifies the AWS WAF web ACL,\nif any, to associate with this distribution.\nTo specify a web ACL created using the latest version of AWS WAF (WAFv2), use the ACL ARN,\nfor example `aws_wafv2_web_acl.example.arn`. To specify a web\nACL created using AWS WAF Classic, use the ACL ID, for example `aws_waf_web_acl.example.id`.\nThe WAF Web ACL must exist in the WAF Global (CloudFront) region and the\ncredentials configuring this argument must have `waf:GetWebACL` permissions assigned.\n" } }, "required": [ @@ -140448,7 +141447,7 @@ }, "webAclId": { "type": "string", - "description": "If you're using AWS WAF to filter CloudFront\nrequests, the Id of the AWS WAF web ACL that is associated with the\ndistribution. The WAF Web ACL must exist in the WAF Global (CloudFront)\nregion and the credentials configuring this argument must have\n`waf:GetWebACL` permissions assigned. If using WAFv2, provide the ARN of the web ACL.\n" + "description": "A unique identifier that specifies the AWS WAF web ACL,\nif any, to associate with this distribution.\nTo specify a web ACL created using the latest version of AWS WAF (WAFv2), use the ACL ARN,\nfor example `aws_wafv2_web_acl.example.arn`. To specify a web\nACL created using AWS WAF Classic, use the ACL ID, for example `aws_waf_web_acl.example.id`.\nThe WAF Web ACL must exist in the WAF Global (CloudFront) region and the\ncredentials configuring this argument must have `waf:GetWebACL` permissions assigned.\n" } }, "requiredInputs": [ @@ -140592,7 +141591,7 @@ }, "webAclId": { "type": "string", - "description": "If you're using AWS WAF to filter CloudFront\nrequests, the Id of the AWS WAF web ACL that is associated with the\ndistribution. The WAF Web ACL must exist in the WAF Global (CloudFront)\nregion and the credentials configuring this argument must have\n`waf:GetWebACL` permissions assigned. If using WAFv2, provide the ARN of the web ACL.\n" + "description": "A unique identifier that specifies the AWS WAF web ACL,\nif any, to associate with this distribution.\nTo specify a web ACL created using the latest version of AWS WAF (WAFv2), use the ACL ARN,\nfor example `aws_wafv2_web_acl.example.arn`. To specify a web\nACL created using AWS WAF Classic, use the ACL ID, for example `aws_waf_web_acl.example.id`.\nThe WAF Web ACL must exist in the WAF Global (CloudFront) region and the\ncredentials configuring this argument must have `waf:GetWebACL` permissions assigned.\n" } }, "type": "object" @@ -142904,6 +143903,100 @@ "type": "object" } }, + "aws:codeartifact/repositoryPermissionsPolicy:RepositoryPermissionsPolicy": { + "description": "Provides a CodeArtifact Repostory Permissions Policy Resource.\n", + "properties": { + "domain": { + "type": "string", + "description": "The name of the domain on which to set the resource policy.\n" + }, + "domainOwner": { + "type": "string", + "description": "The account number of the AWS account that owns the domain.\n" + }, + "policyDocument": { + "type": "string", + "description": "A JSON policy string to be set as the access control resource policy on the provided domain.\n" + }, + "policyRevision": { + "type": "string", + "description": "The current revision of the resource policy to be set. This revision is used for optimistic locking, which prevents others from overwriting your changes to the domain's resource policy.\n" + }, + "repository": { + "type": "string", + "description": "The name of the repository to set the resource policy on.\n" + }, + "resourceArn": { + "type": "string", + "description": "The ARN of the resource associated with the resource policy.\n" + } + }, + "required": [ + "domain", + "domainOwner", + "policyDocument", + "policyRevision", + "repository", + "resourceArn" + ], + "inputProperties": { + "domain": { + "type": "string", + "description": "The name of the domain on which to set the resource policy.\n" + }, + "domainOwner": { + "type": "string", + "description": "The account number of the AWS account that owns the domain.\n" + }, + "policyDocument": { + "type": "string", + "description": "A JSON policy string to be set as the access control resource policy on the provided domain.\n" + }, + "policyRevision": { + "type": "string", + "description": "The current revision of the resource policy to be set. This revision is used for optimistic locking, which prevents others from overwriting your changes to the domain's resource policy.\n" + }, + "repository": { + "type": "string", + "description": "The name of the repository to set the resource policy on.\n" + } + }, + "requiredInputs": [ + "domain", + "policyDocument", + "repository" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering RepositoryPermissionsPolicy resources.\n", + "properties": { + "domain": { + "type": "string", + "description": "The name of the domain on which to set the resource policy.\n" + }, + "domainOwner": { + "type": "string", + "description": "The account number of the AWS account that owns the domain.\n" + }, + "policyDocument": { + "type": "string", + "description": "A JSON policy string to be set as the access control resource policy on the provided domain.\n" + }, + "policyRevision": { + "type": "string", + "description": "The current revision of the resource policy to be set. This revision is used for optimistic locking, which prevents others from overwriting your changes to the domain's resource policy.\n" + }, + "repository": { + "type": "string", + "description": "The name of the repository to set the resource policy on.\n" + }, + "resourceArn": { + "type": "string", + "description": "The ARN of the resource associated with the resource policy.\n" + } + }, + "type": "object" + } + }, "aws:codebuild/project:Project": { "description": "Provides a CodeBuild Project resource. See also the `aws.codebuild.Webhook` resource, which manages the webhook to the source (e.g. the \"rebuild every time a code change is pushed\" option in the CodeBuild web console).\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 exampleBucket = new aws.s3.Bucket(\"exampleBucket\", {acl: \"private\"});\nconst exampleRole = new aws.iam.Role(\"exampleRole\", {assumeRolePolicy: `{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"codebuild.amazonaws.com\"\n },\n \"Action\": \"sts:AssumeRole\"\n }\n ]\n}\n`});\nconst exampleRolePolicy = new aws.iam.RolePolicy(\"exampleRolePolicy\", {\n role: exampleRole.name,\n policy: pulumi.interpolate`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"*\"\n ],\n \"Action\": [\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\"\n ]\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:CreateNetworkInterface\",\n \"ec2:DescribeDhcpOptions\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:DeleteNetworkInterface\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeVpcs\"\n ],\n \"Resource\": \"*\"\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:CreateNetworkInterfacePermission\"\n ],\n \"Resource\": [\n \"arn:aws:ec2:us-east-1:123456789012:network-interface/*\"\n ],\n \"Condition\": {\n \"StringEquals\": {\n \"ec2:Subnet\": [\n \"${aws_subnet.example1.arn}\",\n \"${aws_subnet.example2.arn}\"\n ],\n \"ec2:AuthorizedService\": \"codebuild.amazonaws.com\"\n }\n }\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"s3:*\"\n ],\n \"Resource\": [\n \"${exampleBucket.arn}\",\n \"${exampleBucket.arn}/*\"\n ]\n }\n ]\n}\n`,\n});\nconst exampleProject = new aws.codebuild.Project(\"exampleProject\", {\n description: \"test_codebuild_project\",\n buildTimeout: \"5\",\n serviceRole: exampleRole.arn,\n artifacts: {\n type: \"NO_ARTIFACTS\",\n },\n cache: {\n type: \"S3\",\n location: exampleBucket.bucket,\n },\n environment: {\n computeType: \"BUILD_GENERAL1_SMALL\",\n image: \"aws/codebuild/standard:1.0\",\n type: \"LINUX_CONTAINER\",\n imagePullCredentialsType: \"CODEBUILD\",\n environmentVariables: [\n {\n name: \"SOME_KEY1\",\n value: \"SOME_VALUE1\",\n },\n {\n name: \"SOME_KEY2\",\n value: \"SOME_VALUE2\",\n type: \"PARAMETER_STORE\",\n },\n ],\n },\n logsConfig: {\n cloudwatchLogs: {\n groupName: \"log-group\",\n streamName: \"log-stream\",\n },\n s3Logs: {\n status: \"ENABLED\",\n location: pulumi.interpolate`${exampleBucket.id}/build-log`,\n },\n },\n source: {\n type: \"GITHUB\",\n location: \"https://github.com/mitchellh/packer.git\",\n gitCloneDepth: 1,\n gitSubmodulesConfig: {\n fetchSubmodules: true,\n },\n },\n sourceVersion: \"master\",\n vpcConfig: {\n vpcId: aws_vpc.example.id,\n subnets: [\n aws_subnet.example1.id,\n aws_subnet.example2.id,\n ],\n securityGroupIds: [\n aws_security_group.example1.id,\n aws_security_group.example2.id,\n ],\n },\n tags: {\n Environment: \"Test\",\n },\n});\nconst project_with_cache = new aws.codebuild.Project(\"project-with-cache\", {\n description: \"test_codebuild_project_cache\",\n buildTimeout: \"5\",\n queuedTimeout: \"5\",\n serviceRole: exampleRole.arn,\n artifacts: {\n type: \"NO_ARTIFACTS\",\n },\n cache: {\n type: \"LOCAL\",\n modes: [\n \"LOCAL_DOCKER_LAYER_CACHE\",\n \"LOCAL_SOURCE_CACHE\",\n ],\n },\n environment: {\n computeType: \"BUILD_GENERAL1_SMALL\",\n image: \"aws/codebuild/standard:1.0\",\n type: \"LINUX_CONTAINER\",\n imagePullCredentialsType: \"CODEBUILD\",\n environmentVariables: [{\n name: \"SOME_KEY1\",\n value: \"SOME_VALUE1\",\n }],\n },\n source: {\n type: \"GITHUB\",\n location: \"https://github.com/mitchellh/packer.git\",\n gitCloneDepth: 1,\n },\n tags: {\n Environment: \"Test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_bucket = aws.s3.Bucket(\"exampleBucket\", acl=\"private\")\nexample_role = aws.iam.Role(\"exampleRole\", assume_role_policy=\"\"\"{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"codebuild.amazonaws.com\"\n },\n \"Action\": \"sts:AssumeRole\"\n }\n ]\n}\n\"\"\")\nexample_role_policy = aws.iam.RolePolicy(\"exampleRolePolicy\",\n role=example_role.name,\n policy=pulumi.Output.all(example_bucket.arn, example_bucket.arn).apply(lambda exampleBucketArn, exampleBucketArn1: f\"\"\"{{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {{\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"*\"\n ],\n \"Action\": [\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\"\n ]\n }},\n {{\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:CreateNetworkInterface\",\n \"ec2:DescribeDhcpOptions\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:DeleteNetworkInterface\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeVpcs\"\n ],\n \"Resource\": \"*\"\n }},\n {{\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:CreateNetworkInterfacePermission\"\n ],\n \"Resource\": [\n \"arn:aws:ec2:us-east-1:123456789012:network-interface/*\"\n ],\n \"Condition\": {{\n \"StringEquals\": {{\n \"ec2:Subnet\": [\n \"{aws_subnet[\"example1\"][\"arn\"]}\",\n \"{aws_subnet[\"example2\"][\"arn\"]}\"\n ],\n \"ec2:AuthorizedService\": \"codebuild.amazonaws.com\"\n }}\n }}\n }},\n {{\n \"Effect\": \"Allow\",\n \"Action\": [\n \"s3:*\"\n ],\n \"Resource\": [\n \"{example_bucket_arn}\",\n \"{example_bucket_arn1}/*\"\n ]\n }}\n ]\n}}\n\"\"\"))\nexample_project = aws.codebuild.Project(\"exampleProject\",\n description=\"test_codebuild_project\",\n build_timeout=5,\n service_role=example_role.arn,\n artifacts=aws.codebuild.ProjectArtifactsArgs(\n type=\"NO_ARTIFACTS\",\n ),\n cache=aws.codebuild.ProjectCacheArgs(\n type=\"S3\",\n location=example_bucket.bucket,\n ),\n environment=aws.codebuild.ProjectEnvironmentArgs(\n compute_type=\"BUILD_GENERAL1_SMALL\",\n image=\"aws/codebuild/standard:1.0\",\n type=\"LINUX_CONTAINER\",\n image_pull_credentials_type=\"CODEBUILD\",\n environment_variables=[\n aws.codebuild.ProjectEnvironmentEnvironmentVariableArgs(\n name=\"SOME_KEY1\",\n value=\"SOME_VALUE1\",\n ),\n aws.codebuild.ProjectEnvironmentEnvironmentVariableArgs(\n name=\"SOME_KEY2\",\n value=\"SOME_VALUE2\",\n type=\"PARAMETER_STORE\",\n ),\n ],\n ),\n logs_config=aws.codebuild.ProjectLogsConfigArgs(\n cloudwatch_logs=aws.codebuild.ProjectLogsConfigCloudwatchLogsArgs(\n group_name=\"log-group\",\n stream_name=\"log-stream\",\n ),\n s3_logs=aws.codebuild.ProjectLogsConfigS3LogsArgs(\n status=\"ENABLED\",\n location=example_bucket.id.apply(lambda id: f\"{id}/build-log\"),\n ),\n ),\n source=aws.codebuild.ProjectSourceArgs(\n type=\"GITHUB\",\n location=\"https://github.com/mitchellh/packer.git\",\n git_clone_depth=1,\n git_submodules_config=aws.codebuild.ProjectSourceGitSubmodulesConfigArgs(\n fetch_submodules=True,\n ),\n ),\n source_version=\"master\",\n vpc_config=aws.codebuild.ProjectVpcConfigArgs(\n vpc_id=aws_vpc[\"example\"][\"id\"],\n subnets=[\n aws_subnet[\"example1\"][\"id\"],\n aws_subnet[\"example2\"][\"id\"],\n ],\n security_group_ids=[\n aws_security_group[\"example1\"][\"id\"],\n aws_security_group[\"example2\"][\"id\"],\n ],\n ),\n tags={\n \"Environment\": \"Test\",\n })\nproject_with_cache = aws.codebuild.Project(\"project-with-cache\",\n description=\"test_codebuild_project_cache\",\n build_timeout=5,\n queued_timeout=5,\n service_role=example_role.arn,\n artifacts=aws.codebuild.ProjectArtifactsArgs(\n type=\"NO_ARTIFACTS\",\n ),\n cache=aws.codebuild.ProjectCacheArgs(\n type=\"LOCAL\",\n modes=[\n \"LOCAL_DOCKER_LAYER_CACHE\",\n \"LOCAL_SOURCE_CACHE\",\n ],\n ),\n environment=aws.codebuild.ProjectEnvironmentArgs(\n compute_type=\"BUILD_GENERAL1_SMALL\",\n image=\"aws/codebuild/standard:1.0\",\n type=\"LINUX_CONTAINER\",\n image_pull_credentials_type=\"CODEBUILD\",\n environment_variables=[aws.codebuild.ProjectEnvironmentEnvironmentVariableArgs(\n name=\"SOME_KEY1\",\n value=\"SOME_VALUE1\",\n )],\n ),\n source=aws.codebuild.ProjectSourceArgs(\n type=\"GITHUB\",\n location=\"https://github.com/mitchellh/packer.git\",\n git_clone_depth=1,\n ),\n tags={\n \"Environment\": \"Test\",\n })\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleBucket = new Aws.S3.Bucket(\"exampleBucket\", new Aws.S3.BucketArgs\n {\n Acl = \"private\",\n });\n var exampleRole = new Aws.Iam.Role(\"exampleRole\", new Aws.Iam.RoleArgs\n {\n AssumeRolePolicy = @\"{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Statement\"\": [\n {\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Principal\"\": {\n \"\"Service\"\": \"\"codebuild.amazonaws.com\"\"\n },\n \"\"Action\"\": \"\"sts:AssumeRole\"\"\n }\n ]\n}\n\",\n });\n var exampleRolePolicy = new Aws.Iam.RolePolicy(\"exampleRolePolicy\", new Aws.Iam.RolePolicyArgs\n {\n Role = exampleRole.Name,\n Policy = Output.Tuple(exampleBucket.Arn, exampleBucket.Arn).Apply(values =\u003e\n {\n var exampleBucketArn = values.Item1;\n var exampleBucketArn1 = values.Item2;\n return @$\"{{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Statement\"\": [\n {{\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Resource\"\": [\n \"\"*\"\"\n ],\n \"\"Action\"\": [\n \"\"logs:CreateLogGroup\"\",\n \"\"logs:CreateLogStream\"\",\n \"\"logs:PutLogEvents\"\"\n ]\n }},\n {{\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Action\"\": [\n \"\"ec2:CreateNetworkInterface\"\",\n \"\"ec2:DescribeDhcpOptions\"\",\n \"\"ec2:DescribeNetworkInterfaces\"\",\n \"\"ec2:DeleteNetworkInterface\"\",\n \"\"ec2:DescribeSubnets\"\",\n \"\"ec2:DescribeSecurityGroups\"\",\n \"\"ec2:DescribeVpcs\"\"\n ],\n \"\"Resource\"\": \"\"*\"\"\n }},\n {{\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Action\"\": [\n \"\"ec2:CreateNetworkInterfacePermission\"\"\n ],\n \"\"Resource\"\": [\n \"\"arn:aws:ec2:us-east-1:123456789012:network-interface/*\"\"\n ],\n \"\"Condition\"\": {{\n \"\"StringEquals\"\": {{\n \"\"ec2:Subnet\"\": [\n \"\"{aws_subnet.Example1.Arn}\"\",\n \"\"{aws_subnet.Example2.Arn}\"\"\n ],\n \"\"ec2:AuthorizedService\"\": \"\"codebuild.amazonaws.com\"\"\n }}\n }}\n }},\n {{\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Action\"\": [\n \"\"s3:*\"\"\n ],\n \"\"Resource\"\": [\n \"\"{exampleBucketArn}\"\",\n \"\"{exampleBucketArn1}/*\"\"\n ]\n }}\n ]\n}}\n\";\n }),\n });\n var exampleProject = new Aws.CodeBuild.Project(\"exampleProject\", new Aws.CodeBuild.ProjectArgs\n {\n Description = \"test_codebuild_project\",\n BuildTimeout = 5,\n ServiceRole = exampleRole.Arn,\n Artifacts = new Aws.CodeBuild.Inputs.ProjectArtifactsArgs\n {\n Type = \"NO_ARTIFACTS\",\n },\n Cache = new Aws.CodeBuild.Inputs.ProjectCacheArgs\n {\n Type = \"S3\",\n Location = exampleBucket.BucketName,\n },\n Environment = new Aws.CodeBuild.Inputs.ProjectEnvironmentArgs\n {\n ComputeType = \"BUILD_GENERAL1_SMALL\",\n Image = \"aws/codebuild/standard:1.0\",\n Type = \"LINUX_CONTAINER\",\n ImagePullCredentialsType = \"CODEBUILD\",\n EnvironmentVariables = \n {\n new Aws.CodeBuild.Inputs.ProjectEnvironmentEnvironmentVariableArgs\n {\n Name = \"SOME_KEY1\",\n Value = \"SOME_VALUE1\",\n },\n new Aws.CodeBuild.Inputs.ProjectEnvironmentEnvironmentVariableArgs\n {\n Name = \"SOME_KEY2\",\n Value = \"SOME_VALUE2\",\n Type = \"PARAMETER_STORE\",\n },\n },\n },\n LogsConfig = new Aws.CodeBuild.Inputs.ProjectLogsConfigArgs\n {\n CloudwatchLogs = new Aws.CodeBuild.Inputs.ProjectLogsConfigCloudwatchLogsArgs\n {\n GroupName = \"log-group\",\n StreamName = \"log-stream\",\n },\n S3Logs = new Aws.CodeBuild.Inputs.ProjectLogsConfigS3LogsArgs\n {\n Status = \"ENABLED\",\n Location = exampleBucket.Id.Apply(id =\u003e $\"{id}/build-log\"),\n },\n },\n Source = new Aws.CodeBuild.Inputs.ProjectSourceArgs\n {\n Type = \"GITHUB\",\n Location = \"https://github.com/mitchellh/packer.git\",\n GitCloneDepth = 1,\n GitSubmodulesConfig = new Aws.CodeBuild.Inputs.ProjectSourceGitSubmodulesConfigArgs\n {\n FetchSubmodules = true,\n },\n },\n SourceVersion = \"master\",\n VpcConfig = new Aws.CodeBuild.Inputs.ProjectVpcConfigArgs\n {\n VpcId = aws_vpc.Example.Id,\n Subnets = \n {\n aws_subnet.Example1.Id,\n aws_subnet.Example2.Id,\n },\n SecurityGroupIds = \n {\n aws_security_group.Example1.Id,\n aws_security_group.Example2.Id,\n },\n },\n Tags = \n {\n { \"Environment\", \"Test\" },\n },\n });\n var project_with_cache = new Aws.CodeBuild.Project(\"project-with-cache\", new Aws.CodeBuild.ProjectArgs\n {\n Description = \"test_codebuild_project_cache\",\n BuildTimeout = 5,\n QueuedTimeout = 5,\n ServiceRole = exampleRole.Arn,\n Artifacts = new Aws.CodeBuild.Inputs.ProjectArtifactsArgs\n {\n Type = \"NO_ARTIFACTS\",\n },\n Cache = new Aws.CodeBuild.Inputs.ProjectCacheArgs\n {\n Type = \"LOCAL\",\n Modes = \n {\n \"LOCAL_DOCKER_LAYER_CACHE\",\n \"LOCAL_SOURCE_CACHE\",\n },\n },\n Environment = new Aws.CodeBuild.Inputs.ProjectEnvironmentArgs\n {\n ComputeType = \"BUILD_GENERAL1_SMALL\",\n Image = \"aws/codebuild/standard:1.0\",\n Type = \"LINUX_CONTAINER\",\n ImagePullCredentialsType = \"CODEBUILD\",\n EnvironmentVariables = \n {\n new Aws.CodeBuild.Inputs.ProjectEnvironmentEnvironmentVariableArgs\n {\n Name = \"SOME_KEY1\",\n Value = \"SOME_VALUE1\",\n },\n },\n },\n Source = new Aws.CodeBuild.Inputs.ProjectSourceArgs\n {\n Type = \"GITHUB\",\n Location = \"https://github.com/mitchellh/packer.git\",\n GitCloneDepth = 1,\n },\n Tags = \n {\n { \"Environment\", \"Test\" },\n },\n });\n }\n\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { @@ -151102,11 +152195,11 @@ }, "identifier": { "type": "string", - "description": "The indentifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier.\n" + "description": "The identifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier.\n" }, "identifierPrefix": { "type": "string", - "description": "Creates a unique identifier beginning with the specified prefix. Conflicts with `identifer`.\n" + "description": "Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`.\n" }, "instanceClass": { "type": "string", @@ -151199,11 +152292,11 @@ }, "identifier": { "type": "string", - "description": "The indentifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier.\n" + "description": "The identifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier.\n" }, "identifierPrefix": { "type": "string", - "description": "Creates a unique identifier beginning with the specified prefix. Conflicts with `identifer`.\n" + "description": "Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`.\n" }, "instanceClass": { "type": "string", @@ -151278,11 +152371,11 @@ }, "identifier": { "type": "string", - "description": "The indentifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier.\n" + "description": "The identifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier.\n" }, "identifierPrefix": { "type": "string", - "description": "Creates a unique identifier beginning with the specified prefix. Conflicts with `identifer`.\n" + "description": "Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`.\n" }, "instanceClass": { "type": "string", @@ -164995,7 +166088,7 @@ } }, "aws:efs/fileSystemPolicy:FileSystemPolicy": { - "description": "Provides an Elastic File System (EFS) File System 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 fs = new aws.efs.FileSystem(\"fs\", {});\nconst policy = new aws.efs.FileSystemPolicy(\"policy\", {\n fileSystemId: fs.id,\n policy: `{\n \"Version\": \"2012-10-17\",\n \"Id\": \"ExamplePolicy01\",\n \"Statement\": [\n {\n \"Sid\": \"ExampleSatement01\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"*\"\n },\n \"Resource\": \"${aws_efs_file_system.test.arn}\",\n \"Action\": [\n \"elasticfilesystem:ClientMount\",\n \"elasticfilesystem:ClientWrite\"\n ],\n \"Condition\": {\n \"Bool\": {\n \"aws:SecureTransport\": \"true\"\n }\n }\n }\n ]\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfs = aws.efs.FileSystem(\"fs\")\npolicy = aws.efs.FileSystemPolicy(\"policy\",\n file_system_id=fs.id,\n policy=f\"\"\"{{\n \"Version\": \"2012-10-17\",\n \"Id\": \"ExamplePolicy01\",\n \"Statement\": [\n {{\n \"Sid\": \"ExampleSatement01\",\n \"Effect\": \"Allow\",\n \"Principal\": {{\n \"AWS\": \"*\"\n }},\n \"Resource\": \"{aws_efs_file_system[\"test\"][\"arn\"]}\",\n \"Action\": [\n \"elasticfilesystem:ClientMount\",\n \"elasticfilesystem:ClientWrite\"\n ],\n \"Condition\": {{\n \"Bool\": {{\n \"aws:SecureTransport\": \"true\"\n }}\n }}\n }}\n ]\n}}\n\"\"\")\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var fs = new Aws.Efs.FileSystem(\"fs\", new Aws.Efs.FileSystemArgs\n {\n });\n var policy = new Aws.Efs.FileSystemPolicy(\"policy\", new Aws.Efs.FileSystemPolicyArgs\n {\n FileSystemId = fs.Id,\n Policy = @$\"{{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Id\"\": \"\"ExamplePolicy01\"\",\n \"\"Statement\"\": [\n {{\n \"\"Sid\"\": \"\"ExampleSatement01\"\",\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Principal\"\": {{\n \"\"AWS\"\": \"\"*\"\"\n }},\n \"\"Resource\"\": \"\"{aws_efs_file_system.Test.Arn}\"\",\n \"\"Action\"\": [\n \"\"elasticfilesystem:ClientMount\"\",\n \"\"elasticfilesystem:ClientWrite\"\"\n ],\n \"\"Condition\"\": {{\n \"\"Bool\"\": {{\n \"\"aws:SecureTransport\"\": \"\"true\"\"\n }}\n }}\n }}\n ]\n}}\n\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/efs\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfs, err := efs.NewFileSystem(ctx, \"fs\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = efs.NewFileSystemPolicy(ctx, \"policy\", \u0026efs.FileSystemPolicyArgs{\n\t\t\tFileSystemId: fs.ID(),\n\t\t\tPolicy: pulumi.String(fmt.Sprintf(\"%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v\", \"{\\n\", \" \\\"Version\\\": \\\"2012-10-17\\\",\\n\", \" \\\"Id\\\": \\\"ExamplePolicy01\\\",\\n\", \" \\\"Statement\\\": [\\n\", \" {\\n\", \" \\\"Sid\\\": \\\"ExampleSatement01\\\",\\n\", \" \\\"Effect\\\": \\\"Allow\\\",\\n\", \" \\\"Principal\\\": {\\n\", \" \\\"AWS\\\": \\\"*\\\"\\n\", \" },\\n\", \" \\\"Resource\\\": \\\"\", aws_efs_file_system.Test.Arn, \"\\\",\\n\", \" \\\"Action\\\": [\\n\", \" \\\"elasticfilesystem:ClientMount\\\",\\n\", \" \\\"elasticfilesystem:ClientWrite\\\"\\n\", \" ],\\n\", \" \\\"Condition\\\": {\\n\", \" \\\"Bool\\\": {\\n\", \" \\\"aws:SecureTransport\\\": \\\"true\\\"\\n\", \" }\\n\", \" }\\n\", \" }\\n\", \" ]\\n\", \"}\\n\")),\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{{% /example %}}\n{{% /examples %}}", + "description": "Provides an Elastic File System (EFS) File System 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 fs = new aws.efs.FileSystem(\"fs\", {});\nconst policy = new aws.efs.FileSystemPolicy(\"policy\", {\n fileSystemId: fs.id,\n policy: `{\n \"Version\": \"2012-10-17\",\n \"Id\": \"ExamplePolicy01\",\n \"Statement\": [\n {\n \"Sid\": \"ExampleStatement01\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"*\"\n },\n \"Resource\": \"${aws_efs_file_system.test.arn}\",\n \"Action\": [\n \"elasticfilesystem:ClientMount\",\n \"elasticfilesystem:ClientWrite\"\n ],\n \"Condition\": {\n \"Bool\": {\n \"aws:SecureTransport\": \"true\"\n }\n }\n }\n ]\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfs = aws.efs.FileSystem(\"fs\")\npolicy = aws.efs.FileSystemPolicy(\"policy\",\n file_system_id=fs.id,\n policy=f\"\"\"{{\n \"Version\": \"2012-10-17\",\n \"Id\": \"ExamplePolicy01\",\n \"Statement\": [\n {{\n \"Sid\": \"ExampleStatement01\",\n \"Effect\": \"Allow\",\n \"Principal\": {{\n \"AWS\": \"*\"\n }},\n \"Resource\": \"{aws_efs_file_system[\"test\"][\"arn\"]}\",\n \"Action\": [\n \"elasticfilesystem:ClientMount\",\n \"elasticfilesystem:ClientWrite\"\n ],\n \"Condition\": {{\n \"Bool\": {{\n \"aws:SecureTransport\": \"true\"\n }}\n }}\n }}\n ]\n}}\n\"\"\")\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var fs = new Aws.Efs.FileSystem(\"fs\", new Aws.Efs.FileSystemArgs\n {\n });\n var policy = new Aws.Efs.FileSystemPolicy(\"policy\", new Aws.Efs.FileSystemPolicyArgs\n {\n FileSystemId = fs.Id,\n Policy = @$\"{{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Id\"\": \"\"ExamplePolicy01\"\",\n \"\"Statement\"\": [\n {{\n \"\"Sid\"\": \"\"ExampleStatement01\"\",\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Principal\"\": {{\n \"\"AWS\"\": \"\"*\"\"\n }},\n \"\"Resource\"\": \"\"{aws_efs_file_system.Test.Arn}\"\",\n \"\"Action\"\": [\n \"\"elasticfilesystem:ClientMount\"\",\n \"\"elasticfilesystem:ClientWrite\"\"\n ],\n \"\"Condition\"\": {{\n \"\"Bool\"\": {{\n \"\"aws:SecureTransport\"\": \"\"true\"\"\n }}\n }}\n }}\n ]\n}}\n\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/efs\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfs, err := efs.NewFileSystem(ctx, \"fs\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = efs.NewFileSystemPolicy(ctx, \"policy\", \u0026efs.FileSystemPolicyArgs{\n\t\t\tFileSystemId: fs.ID(),\n\t\t\tPolicy: pulumi.String(fmt.Sprintf(\"%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v\", \"{\\n\", \" \\\"Version\\\": \\\"2012-10-17\\\",\\n\", \" \\\"Id\\\": \\\"ExamplePolicy01\\\",\\n\", \" \\\"Statement\\\": [\\n\", \" {\\n\", \" \\\"Sid\\\": \\\"ExampleStatement01\\\",\\n\", \" \\\"Effect\\\": \\\"Allow\\\",\\n\", \" \\\"Principal\\\": {\\n\", \" \\\"AWS\\\": \\\"*\\\"\\n\", \" },\\n\", \" \\\"Resource\\\": \\\"\", aws_efs_file_system.Test.Arn, \"\\\",\\n\", \" \\\"Action\\\": [\\n\", \" \\\"elasticfilesystem:ClientMount\\\",\\n\", \" \\\"elasticfilesystem:ClientWrite\\\"\\n\", \" ],\\n\", \" \\\"Condition\\\": {\\n\", \" \\\"Bool\\\": {\\n\", \" \\\"aws:SecureTransport\\\": \\\"true\\\"\\n\", \" }\\n\", \" }\\n\", \" }\\n\", \" ]\\n\", \"}\\n\")),\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{{% /example %}}\n{{% /examples %}}", "properties": { "fileSystemId": { "type": "string", @@ -168564,7 +169657,7 @@ "deprecationMessage": "aws.elasticloadbalancingv2.ListenerRule has been deprecated in favor of aws.lb.ListenerRule" }, "aws:elasticloadbalancingv2/loadBalancer:LoadBalancer": { - "description": "Provides a Load Balancer resource.\n\n\u003e **Note:** `aws.alb.LoadBalancer` is known as `aws.lb.LoadBalancer`. The functionality is identical.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Application Load Balancer\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.LoadBalancer(\"test\", {\n internal: false,\n loadBalancerType: \"application\",\n securityGroups: [aws_security_group.lb_sg.id],\n subnets: [aws_subnet[\"public\"].map(__item =\u003e __item.id)],\n enableDeletionProtection: true,\n accessLogs: {\n bucket: aws_s3_bucket.lb_logs.bucket,\n prefix: \"test-lb\",\n enabled: true,\n },\n tags: {\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.LoadBalancer(\"test\",\n internal=False,\n load_balancer_type=\"application\",\n security_groups=[aws_security_group[\"lb_sg\"][\"id\"]],\n subnets=[[__item[\"id\"] for __item in aws_subnet[\"public\"]]],\n enable_deletion_protection=True,\n access_logs=aws.lb.LoadBalancerAccessLogsArgs(\n bucket=aws_s3_bucket[\"lb_logs\"][\"bucket\"],\n prefix=\"test-lb\",\n enabled=True,\n ),\n tags={\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var test = new Aws.LB.LoadBalancer(\"test\", new Aws.LB.LoadBalancerArgs\n {\n Internal = false,\n LoadBalancerType = \"application\",\n SecurityGroups = \n {\n aws_security_group.Lb_sg.Id,\n },\n Subnets = \n {\n aws_subnet.Public.Select(__item =\u003e __item.Id).ToList(),\n },\n EnableDeletionProtection = true,\n AccessLogs = new Aws.LB.Inputs.LoadBalancerAccessLogsArgs\n {\n Bucket = aws_s3_bucket.Lb_logs.Bucket,\n Prefix = \"test-lb\",\n Enabled = true,\n },\n Tags = \n {\n { \"Environment\", \"production\" },\n },\n });\n }\n\n}\n```\n{{% /example %}}\n{{% example %}}\n### Network Load Balancer\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.LoadBalancer(\"test\", {\n internal: false,\n loadBalancerType: \"network\",\n subnets: [aws_subnet[\"public\"].map(__item =\u003e __item.id)],\n enableDeletionProtection: true,\n tags: {\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.LoadBalancer(\"test\",\n internal=False,\n load_balancer_type=\"network\",\n subnets=[[__item[\"id\"] for __item in aws_subnet[\"public\"]]],\n enable_deletion_protection=True,\n tags={\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var test = new Aws.LB.LoadBalancer(\"test\", new Aws.LB.LoadBalancerArgs\n {\n Internal = false,\n LoadBalancerType = \"network\",\n Subnets = \n {\n aws_subnet.Public.Select(__item =\u003e __item.Id).ToList(),\n },\n EnableDeletionProtection = true,\n Tags = \n {\n { \"Environment\", \"production\" },\n },\n });\n }\n\n}\n```\n{{% /example %}}\n{{% example %}}\n### Specifying Elastic IPs\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {\n loadBalancerType: \"network\",\n subnetMappings: [\n {\n subnetId: aws_subnet.example1.id,\n allocationId: aws_eip.example1.id,\n },\n {\n subnetId: aws_subnet.example2.id,\n allocationId: aws_eip.example2.id,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\",\n load_balancer_type=\"network\",\n subnet_mappings=[\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=aws_subnet[\"example1\"][\"id\"],\n allocation_id=aws_eip[\"example1\"][\"id\"],\n ),\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=aws_subnet[\"example2\"][\"id\"],\n allocation_id=aws_eip[\"example2\"][\"id\"],\n ),\n ])\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Aws.LB.LoadBalancer(\"example\", new Aws.LB.LoadBalancerArgs\n {\n LoadBalancerType = \"network\",\n SubnetMappings = \n {\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = aws_subnet.Example1.Id,\n AllocationId = aws_eip.Example1.Id,\n },\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = aws_subnet.Example2.Id,\n AllocationId = aws_eip.Example2.Id,\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tLoadBalancerType: pulumi.String(\"network\"),\n\t\t\tSubnetMappings: lb.LoadBalancerSubnetMappingArray{\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(aws_subnet.Example1.Id),\n\t\t\t\t\tAllocationId: pulumi.Any(aws_eip.Example1.Id),\n\t\t\t\t},\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(aws_subnet.Example2.Id),\n\t\t\t\t\tAllocationId: pulumi.Any(aws_eip.Example2.Id),\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{{% /example %}}\n{{% example %}}\n### Specifying private IP addresses for an internal-facing load balancer\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {\n loadBalancerType: \"network\",\n subnetMappings: [\n {\n subnetId: aws_subnet.example1.id,\n privateIpv4Address: \"10.0.1.15\",\n },\n {\n subnetId: aws_subnet.example2.id,\n privateIpv4Address: \"10.0.2.15\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\",\n load_balancer_type=\"network\",\n subnet_mappings=[\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=aws_subnet[\"example1\"][\"id\"],\n private_ipv4_address=\"10.0.1.15\",\n ),\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=aws_subnet[\"example2\"][\"id\"],\n private_ipv4_address=\"10.0.2.15\",\n ),\n ])\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Aws.LB.LoadBalancer(\"example\", new Aws.LB.LoadBalancerArgs\n {\n LoadBalancerType = \"network\",\n SubnetMappings = \n {\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = aws_subnet.Example1.Id,\n PrivateIpv4Address = \"10.0.1.15\",\n },\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = aws_subnet.Example2.Id,\n PrivateIpv4Address = \"10.0.2.15\",\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tLoadBalancerType: pulumi.String(\"network\"),\n\t\t\tSubnetMappings: lb.LoadBalancerSubnetMappingArray{\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(aws_subnet.Example1.Id),\n\t\t\t\t\tPrivateIpv4Address: pulumi.String(\"10.0.1.15\"),\n\t\t\t\t},\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(aws_subnet.Example2.Id),\n\t\t\t\t\tPrivateIpv4Address: pulumi.String(\"10.0.2.15\"),\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{{% /example %}}\n{{% /examples %}}", + "description": "Provides a Load Balancer resource.\n\n\u003e **Note:** `aws.alb.LoadBalancer` is known as `aws.lb.LoadBalancer`. The functionality is identical.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Application Load Balancer\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.LoadBalancer(\"test\", {\n internal: false,\n loadBalancerType: \"application\",\n securityGroups: [aws_security_group.lb_sg.id],\n subnets: aws_subnet[\"public\"].map(__item =\u003e __item.id),\n enableDeletionProtection: true,\n accessLogs: {\n bucket: aws_s3_bucket.lb_logs.bucket,\n prefix: \"test-lb\",\n enabled: true,\n },\n tags: {\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.LoadBalancer(\"test\",\n internal=False,\n load_balancer_type=\"application\",\n security_groups=[aws_security_group[\"lb_sg\"][\"id\"]],\n subnets=[__item[\"id\"] for __item in aws_subnet[\"public\"]],\n enable_deletion_protection=True,\n access_logs=aws.lb.LoadBalancerAccessLogsArgs(\n bucket=aws_s3_bucket[\"lb_logs\"][\"bucket\"],\n prefix=\"test-lb\",\n enabled=True,\n ),\n tags={\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var test = new Aws.LB.LoadBalancer(\"test\", new Aws.LB.LoadBalancerArgs\n {\n Internal = false,\n LoadBalancerType = \"application\",\n SecurityGroups = \n {\n aws_security_group.Lb_sg.Id,\n },\n Subnets = aws_subnet.Public.Select(__item =\u003e __item.Id).ToList(),\n EnableDeletionProtection = true,\n AccessLogs = new Aws.LB.Inputs.LoadBalancerAccessLogsArgs\n {\n Bucket = aws_s3_bucket.Lb_logs.Bucket,\n Prefix = \"test-lb\",\n Enabled = true,\n },\n Tags = \n {\n { \"Environment\", \"production\" },\n },\n });\n }\n\n}\n```\n{{% /example %}}\n{{% example %}}\n### Network Load Balancer\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.LoadBalancer(\"test\", {\n internal: false,\n loadBalancerType: \"network\",\n subnets: aws_subnet[\"public\"].map(__item =\u003e __item.id),\n enableDeletionProtection: true,\n tags: {\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.LoadBalancer(\"test\",\n internal=False,\n load_balancer_type=\"network\",\n subnets=[__item[\"id\"] for __item in aws_subnet[\"public\"]],\n enable_deletion_protection=True,\n tags={\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var test = new Aws.LB.LoadBalancer(\"test\", new Aws.LB.LoadBalancerArgs\n {\n Internal = false,\n LoadBalancerType = \"network\",\n Subnets = aws_subnet.Public.Select(__item =\u003e __item.Id).ToList(),\n EnableDeletionProtection = true,\n Tags = \n {\n { \"Environment\", \"production\" },\n },\n });\n }\n\n}\n```\n{{% /example %}}\n{{% example %}}\n### Specifying Elastic IPs\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {\n loadBalancerType: \"network\",\n subnetMappings: [\n {\n subnetId: aws_subnet.example1.id,\n allocationId: aws_eip.example1.id,\n },\n {\n subnetId: aws_subnet.example2.id,\n allocationId: aws_eip.example2.id,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\",\n load_balancer_type=\"network\",\n subnet_mappings=[\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=aws_subnet[\"example1\"][\"id\"],\n allocation_id=aws_eip[\"example1\"][\"id\"],\n ),\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=aws_subnet[\"example2\"][\"id\"],\n allocation_id=aws_eip[\"example2\"][\"id\"],\n ),\n ])\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Aws.LB.LoadBalancer(\"example\", new Aws.LB.LoadBalancerArgs\n {\n LoadBalancerType = \"network\",\n SubnetMappings = \n {\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = aws_subnet.Example1.Id,\n AllocationId = aws_eip.Example1.Id,\n },\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = aws_subnet.Example2.Id,\n AllocationId = aws_eip.Example2.Id,\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tLoadBalancerType: pulumi.String(\"network\"),\n\t\t\tSubnetMappings: lb.LoadBalancerSubnetMappingArray{\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(aws_subnet.Example1.Id),\n\t\t\t\t\tAllocationId: pulumi.Any(aws_eip.Example1.Id),\n\t\t\t\t},\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(aws_subnet.Example2.Id),\n\t\t\t\t\tAllocationId: pulumi.Any(aws_eip.Example2.Id),\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{{% /example %}}\n{{% example %}}\n### Specifying private IP addresses for an internal-facing load balancer\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {\n loadBalancerType: \"network\",\n subnetMappings: [\n {\n subnetId: aws_subnet.example1.id,\n privateIpv4Address: \"10.0.1.15\",\n },\n {\n subnetId: aws_subnet.example2.id,\n privateIpv4Address: \"10.0.2.15\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\",\n load_balancer_type=\"network\",\n subnet_mappings=[\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=aws_subnet[\"example1\"][\"id\"],\n private_ipv4_address=\"10.0.1.15\",\n ),\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=aws_subnet[\"example2\"][\"id\"],\n private_ipv4_address=\"10.0.2.15\",\n ),\n ])\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Aws.LB.LoadBalancer(\"example\", new Aws.LB.LoadBalancerArgs\n {\n LoadBalancerType = \"network\",\n SubnetMappings = \n {\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = aws_subnet.Example1.Id,\n PrivateIpv4Address = \"10.0.1.15\",\n },\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = aws_subnet.Example2.Id,\n PrivateIpv4Address = \"10.0.2.15\",\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tLoadBalancerType: pulumi.String(\"network\"),\n\t\t\tSubnetMappings: lb.LoadBalancerSubnetMappingArray{\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(aws_subnet.Example1.Id),\n\t\t\t\t\tPrivateIpv4Address: pulumi.String(\"10.0.1.15\"),\n\t\t\t\t},\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(aws_subnet.Example2.Id),\n\t\t\t\t\tPrivateIpv4Address: pulumi.String(\"10.0.2.15\"),\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{{% /example %}}\n{{% /examples %}}", "properties": { "accessLogs": { "$ref": "#/types/aws:elasticloadbalancingv2/LoadBalancerAccessLogs:LoadBalancerAccessLogs", @@ -168909,7 +170002,7 @@ }, "stickiness": { "$ref": "#/types/aws:elasticloadbalancingv2/TargetGroupStickiness:TargetGroupStickiness", - "description": "A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application`\n" + "description": "A Stickiness block. Stickiness blocks are documented below.\n" }, "tags": { "type": "object", @@ -168978,7 +170071,7 @@ }, "stickiness": { "$ref": "#/types/aws:elasticloadbalancingv2/TargetGroupStickiness:TargetGroupStickiness", - "description": "A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application`\n" + "description": "A Stickiness block. Stickiness blocks are documented below.\n" }, "tags": { "type": "object", @@ -169049,7 +170142,7 @@ }, "stickiness": { "$ref": "#/types/aws:elasticloadbalancingv2/TargetGroupStickiness:TargetGroupStickiness", - "description": "A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application`\n" + "description": "A Stickiness block. Stickiness blocks are documented below.\n" }, "tags": { "type": "object", @@ -181511,7 +182604,7 @@ ] }, "aws:lb/loadBalancer:LoadBalancer": { - "description": "Provides a Load Balancer resource.\n\n\u003e **Note:** `aws.alb.LoadBalancer` is known as `aws.lb.LoadBalancer`. The functionality is identical.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Application Load Balancer\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.LoadBalancer(\"test\", {\n internal: false,\n loadBalancerType: \"application\",\n securityGroups: [aws_security_group.lb_sg.id],\n subnets: [aws_subnet[\"public\"].map(__item =\u003e __item.id)],\n enableDeletionProtection: true,\n accessLogs: {\n bucket: aws_s3_bucket.lb_logs.bucket,\n prefix: \"test-lb\",\n enabled: true,\n },\n tags: {\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.LoadBalancer(\"test\",\n internal=False,\n load_balancer_type=\"application\",\n security_groups=[aws_security_group[\"lb_sg\"][\"id\"]],\n subnets=[[__item[\"id\"] for __item in aws_subnet[\"public\"]]],\n enable_deletion_protection=True,\n access_logs=aws.lb.LoadBalancerAccessLogsArgs(\n bucket=aws_s3_bucket[\"lb_logs\"][\"bucket\"],\n prefix=\"test-lb\",\n enabled=True,\n ),\n tags={\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var test = new Aws.LB.LoadBalancer(\"test\", new Aws.LB.LoadBalancerArgs\n {\n Internal = false,\n LoadBalancerType = \"application\",\n SecurityGroups = \n {\n aws_security_group.Lb_sg.Id,\n },\n Subnets = \n {\n aws_subnet.Public.Select(__item =\u003e __item.Id).ToList(),\n },\n EnableDeletionProtection = true,\n AccessLogs = new Aws.LB.Inputs.LoadBalancerAccessLogsArgs\n {\n Bucket = aws_s3_bucket.Lb_logs.Bucket,\n Prefix = \"test-lb\",\n Enabled = true,\n },\n Tags = \n {\n { \"Environment\", \"production\" },\n },\n });\n }\n\n}\n```\n{{% /example %}}\n{{% example %}}\n### Network Load Balancer\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.LoadBalancer(\"test\", {\n internal: false,\n loadBalancerType: \"network\",\n subnets: [aws_subnet[\"public\"].map(__item =\u003e __item.id)],\n enableDeletionProtection: true,\n tags: {\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.LoadBalancer(\"test\",\n internal=False,\n load_balancer_type=\"network\",\n subnets=[[__item[\"id\"] for __item in aws_subnet[\"public\"]]],\n enable_deletion_protection=True,\n tags={\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var test = new Aws.LB.LoadBalancer(\"test\", new Aws.LB.LoadBalancerArgs\n {\n Internal = false,\n LoadBalancerType = \"network\",\n Subnets = \n {\n aws_subnet.Public.Select(__item =\u003e __item.Id).ToList(),\n },\n EnableDeletionProtection = true,\n Tags = \n {\n { \"Environment\", \"production\" },\n },\n });\n }\n\n}\n```\n{{% /example %}}\n{{% example %}}\n### Specifying Elastic IPs\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {\n loadBalancerType: \"network\",\n subnetMappings: [\n {\n subnetId: aws_subnet.example1.id,\n allocationId: aws_eip.example1.id,\n },\n {\n subnetId: aws_subnet.example2.id,\n allocationId: aws_eip.example2.id,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\",\n load_balancer_type=\"network\",\n subnet_mappings=[\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=aws_subnet[\"example1\"][\"id\"],\n allocation_id=aws_eip[\"example1\"][\"id\"],\n ),\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=aws_subnet[\"example2\"][\"id\"],\n allocation_id=aws_eip[\"example2\"][\"id\"],\n ),\n ])\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Aws.LB.LoadBalancer(\"example\", new Aws.LB.LoadBalancerArgs\n {\n LoadBalancerType = \"network\",\n SubnetMappings = \n {\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = aws_subnet.Example1.Id,\n AllocationId = aws_eip.Example1.Id,\n },\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = aws_subnet.Example2.Id,\n AllocationId = aws_eip.Example2.Id,\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tLoadBalancerType: pulumi.String(\"network\"),\n\t\t\tSubnetMappings: lb.LoadBalancerSubnetMappingArray{\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(aws_subnet.Example1.Id),\n\t\t\t\t\tAllocationId: pulumi.Any(aws_eip.Example1.Id),\n\t\t\t\t},\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(aws_subnet.Example2.Id),\n\t\t\t\t\tAllocationId: pulumi.Any(aws_eip.Example2.Id),\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{{% /example %}}\n{{% example %}}\n### Specifying private IP addresses for an internal-facing load balancer\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {\n loadBalancerType: \"network\",\n subnetMappings: [\n {\n subnetId: aws_subnet.example1.id,\n privateIpv4Address: \"10.0.1.15\",\n },\n {\n subnetId: aws_subnet.example2.id,\n privateIpv4Address: \"10.0.2.15\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\",\n load_balancer_type=\"network\",\n subnet_mappings=[\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=aws_subnet[\"example1\"][\"id\"],\n private_ipv4_address=\"10.0.1.15\",\n ),\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=aws_subnet[\"example2\"][\"id\"],\n private_ipv4_address=\"10.0.2.15\",\n ),\n ])\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Aws.LB.LoadBalancer(\"example\", new Aws.LB.LoadBalancerArgs\n {\n LoadBalancerType = \"network\",\n SubnetMappings = \n {\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = aws_subnet.Example1.Id,\n PrivateIpv4Address = \"10.0.1.15\",\n },\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = aws_subnet.Example2.Id,\n PrivateIpv4Address = \"10.0.2.15\",\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tLoadBalancerType: pulumi.String(\"network\"),\n\t\t\tSubnetMappings: lb.LoadBalancerSubnetMappingArray{\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(aws_subnet.Example1.Id),\n\t\t\t\t\tPrivateIpv4Address: pulumi.String(\"10.0.1.15\"),\n\t\t\t\t},\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(aws_subnet.Example2.Id),\n\t\t\t\t\tPrivateIpv4Address: pulumi.String(\"10.0.2.15\"),\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{{% /example %}}\n{{% /examples %}}", + "description": "Provides a Load Balancer resource.\n\n\u003e **Note:** `aws.alb.LoadBalancer` is known as `aws.lb.LoadBalancer`. The functionality is identical.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Application Load Balancer\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.LoadBalancer(\"test\", {\n internal: false,\n loadBalancerType: \"application\",\n securityGroups: [aws_security_group.lb_sg.id],\n subnets: aws_subnet[\"public\"].map(__item =\u003e __item.id),\n enableDeletionProtection: true,\n accessLogs: {\n bucket: aws_s3_bucket.lb_logs.bucket,\n prefix: \"test-lb\",\n enabled: true,\n },\n tags: {\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.LoadBalancer(\"test\",\n internal=False,\n load_balancer_type=\"application\",\n security_groups=[aws_security_group[\"lb_sg\"][\"id\"]],\n subnets=[__item[\"id\"] for __item in aws_subnet[\"public\"]],\n enable_deletion_protection=True,\n access_logs=aws.lb.LoadBalancerAccessLogsArgs(\n bucket=aws_s3_bucket[\"lb_logs\"][\"bucket\"],\n prefix=\"test-lb\",\n enabled=True,\n ),\n tags={\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var test = new Aws.LB.LoadBalancer(\"test\", new Aws.LB.LoadBalancerArgs\n {\n Internal = false,\n LoadBalancerType = \"application\",\n SecurityGroups = \n {\n aws_security_group.Lb_sg.Id,\n },\n Subnets = aws_subnet.Public.Select(__item =\u003e __item.Id).ToList(),\n EnableDeletionProtection = true,\n AccessLogs = new Aws.LB.Inputs.LoadBalancerAccessLogsArgs\n {\n Bucket = aws_s3_bucket.Lb_logs.Bucket,\n Prefix = \"test-lb\",\n Enabled = true,\n },\n Tags = \n {\n { \"Environment\", \"production\" },\n },\n });\n }\n\n}\n```\n{{% /example %}}\n{{% example %}}\n### Network Load Balancer\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lb.LoadBalancer(\"test\", {\n internal: false,\n loadBalancerType: \"network\",\n subnets: aws_subnet[\"public\"].map(__item =\u003e __item.id),\n enableDeletionProtection: true,\n tags: {\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lb.LoadBalancer(\"test\",\n internal=False,\n load_balancer_type=\"network\",\n subnets=[__item[\"id\"] for __item in aws_subnet[\"public\"]],\n enable_deletion_protection=True,\n tags={\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var test = new Aws.LB.LoadBalancer(\"test\", new Aws.LB.LoadBalancerArgs\n {\n Internal = false,\n LoadBalancerType = \"network\",\n Subnets = aws_subnet.Public.Select(__item =\u003e __item.Id).ToList(),\n EnableDeletionProtection = true,\n Tags = \n {\n { \"Environment\", \"production\" },\n },\n });\n }\n\n}\n```\n{{% /example %}}\n{{% example %}}\n### Specifying Elastic IPs\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {\n loadBalancerType: \"network\",\n subnetMappings: [\n {\n subnetId: aws_subnet.example1.id,\n allocationId: aws_eip.example1.id,\n },\n {\n subnetId: aws_subnet.example2.id,\n allocationId: aws_eip.example2.id,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\",\n load_balancer_type=\"network\",\n subnet_mappings=[\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=aws_subnet[\"example1\"][\"id\"],\n allocation_id=aws_eip[\"example1\"][\"id\"],\n ),\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=aws_subnet[\"example2\"][\"id\"],\n allocation_id=aws_eip[\"example2\"][\"id\"],\n ),\n ])\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Aws.LB.LoadBalancer(\"example\", new Aws.LB.LoadBalancerArgs\n {\n LoadBalancerType = \"network\",\n SubnetMappings = \n {\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = aws_subnet.Example1.Id,\n AllocationId = aws_eip.Example1.Id,\n },\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = aws_subnet.Example2.Id,\n AllocationId = aws_eip.Example2.Id,\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tLoadBalancerType: pulumi.String(\"network\"),\n\t\t\tSubnetMappings: lb.LoadBalancerSubnetMappingArray{\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(aws_subnet.Example1.Id),\n\t\t\t\t\tAllocationId: pulumi.Any(aws_eip.Example1.Id),\n\t\t\t\t},\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(aws_subnet.Example2.Id),\n\t\t\t\t\tAllocationId: pulumi.Any(aws_eip.Example2.Id),\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{{% /example %}}\n{{% example %}}\n### Specifying private IP addresses for an internal-facing load balancer\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lb.LoadBalancer(\"example\", {\n loadBalancerType: \"network\",\n subnetMappings: [\n {\n subnetId: aws_subnet.example1.id,\n privateIpv4Address: \"10.0.1.15\",\n },\n {\n subnetId: aws_subnet.example2.id,\n privateIpv4Address: \"10.0.2.15\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lb.LoadBalancer(\"example\",\n load_balancer_type=\"network\",\n subnet_mappings=[\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=aws_subnet[\"example1\"][\"id\"],\n private_ipv4_address=\"10.0.1.15\",\n ),\n aws.lb.LoadBalancerSubnetMappingArgs(\n subnet_id=aws_subnet[\"example2\"][\"id\"],\n private_ipv4_address=\"10.0.2.15\",\n ),\n ])\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Aws.LB.LoadBalancer(\"example\", new Aws.LB.LoadBalancerArgs\n {\n LoadBalancerType = \"network\",\n SubnetMappings = \n {\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = aws_subnet.Example1.Id,\n PrivateIpv4Address = \"10.0.1.15\",\n },\n new Aws.LB.Inputs.LoadBalancerSubnetMappingArgs\n {\n SubnetId = aws_subnet.Example2.Id,\n PrivateIpv4Address = \"10.0.2.15\",\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lb.NewLoadBalancer(ctx, \"example\", \u0026lb.LoadBalancerArgs{\n\t\t\tLoadBalancerType: pulumi.String(\"network\"),\n\t\t\tSubnetMappings: lb.LoadBalancerSubnetMappingArray{\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(aws_subnet.Example1.Id),\n\t\t\t\t\tPrivateIpv4Address: pulumi.String(\"10.0.1.15\"),\n\t\t\t\t},\n\t\t\t\t\u0026lb.LoadBalancerSubnetMappingArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(aws_subnet.Example2.Id),\n\t\t\t\t\tPrivateIpv4Address: pulumi.String(\"10.0.2.15\"),\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{{% /example %}}\n{{% /examples %}}", "properties": { "accessLogs": { "$ref": "#/types/aws:lb/LoadBalancerAccessLogs:LoadBalancerAccessLogs", @@ -181860,7 +182953,7 @@ }, "stickiness": { "$ref": "#/types/aws:lb/TargetGroupStickiness:TargetGroupStickiness", - "description": "A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application`\n" + "description": "A Stickiness block. Stickiness blocks are documented below.\n" }, "tags": { "type": "object", @@ -181929,7 +183022,7 @@ }, "stickiness": { "$ref": "#/types/aws:lb/TargetGroupStickiness:TargetGroupStickiness", - "description": "A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application`\n" + "description": "A Stickiness block. Stickiness blocks are documented below.\n" }, "tags": { "type": "object", @@ -182000,7 +183093,7 @@ }, "stickiness": { "$ref": "#/types/aws:lb/TargetGroupStickiness:TargetGroupStickiness", - "description": "A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application`\n" + "description": "A Stickiness block. Stickiness blocks are documented below.\n" }, "tags": { "type": "object", @@ -182363,6 +183456,124 @@ "type": "object" } }, + "aws:lex/botAlias:BotAlias": { + "description": "Provides an Amazon Lex Bot Alias resource. For more information see\n[Amazon Lex: How It Works](https://docs.aws.amazon.com/lex/latest/dg/how-it-works.html)\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 orderFlowersProd = new aws.lex.BotAlias(\"order_flowers_prod\", {\n botName: \"OrderFlowers\",\n botVersion: \"1\",\n description: \"Production Version of the OrderFlowers Bot.\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norder_flowers_prod = aws.lex.BotAlias(\"orderFlowersProd\",\n bot_name=\"OrderFlowers\",\n bot_version=\"1\",\n description=\"Production Version of the OrderFlowers Bot.\")\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var orderFlowersProd = new Aws.Lex.BotAlias(\"orderFlowersProd\", new Aws.Lex.BotAliasArgs\n {\n BotName = \"OrderFlowers\",\n BotVersion = \"1\",\n Description = \"Production Version of the OrderFlowers Bot.\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lex.NewBotAlias(ctx, \"orderFlowersProd\", \u0026lex.BotAliasArgs{\n\t\t\tBotName: pulumi.String(\"OrderFlowers\"),\n\t\t\tBotVersion: pulumi.String(\"1\"),\n\t\t\tDescription: pulumi.String(\"Production Version of the OrderFlowers Bot.\"),\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{{% /example %}}\n{{% /examples %}}", + "properties": { + "arn": { + "type": "string", + "description": "The ARN of the bot alias.\n" + }, + "botName": { + "type": "string", + "description": "The name of the bot.\n" + }, + "botVersion": { + "type": "string", + "description": "The name of the bot.\n" + }, + "checksum": { + "type": "string", + "description": "Checksum of the bot alias.\n" + }, + "conversationLogs": { + "$ref": "#/types/aws:lex/BotAliasConversationLogs:BotAliasConversationLogs", + "description": "The settings that determine how Amazon Lex uses conversation logs for the alias. Attributes are documented under conversation_logs.\n" + }, + "createdDate": { + "type": "string", + "description": "The date that the bot alias was created.\n" + }, + "description": { + "type": "string", + "description": "A description of the alias.\n" + }, + "lastUpdatedDate": { + "type": "string", + "description": "The date that the bot alias was updated. When you create a resource, the creation date and the last updated date are the same.\n" + }, + "name": { + "type": "string", + "description": "The name of the alias. The name is not case sensitive.\n" + } + }, + "required": [ + "arn", + "botName", + "botVersion", + "checksum", + "createdDate", + "lastUpdatedDate", + "name" + ], + "inputProperties": { + "botName": { + "type": "string", + "description": "The name of the bot.\n" + }, + "botVersion": { + "type": "string", + "description": "The name of the bot.\n" + }, + "conversationLogs": { + "$ref": "#/types/aws:lex/BotAliasConversationLogs:BotAliasConversationLogs", + "description": "The settings that determine how Amazon Lex uses conversation logs for the alias. Attributes are documented under conversation_logs.\n" + }, + "description": { + "type": "string", + "description": "A description of the alias.\n" + }, + "name": { + "type": "string", + "description": "The name of the alias. The name is not case sensitive.\n" + } + }, + "requiredInputs": [ + "botName", + "botVersion" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering BotAlias resources.\n", + "properties": { + "arn": { + "type": "string", + "description": "The ARN of the bot alias.\n" + }, + "botName": { + "type": "string", + "description": "The name of the bot.\n" + }, + "botVersion": { + "type": "string", + "description": "The name of the bot.\n" + }, + "checksum": { + "type": "string", + "description": "Checksum of the bot alias.\n" + }, + "conversationLogs": { + "$ref": "#/types/aws:lex/BotAliasConversationLogs:BotAliasConversationLogs", + "description": "The settings that determine how Amazon Lex uses conversation logs for the alias. Attributes are documented under conversation_logs.\n" + }, + "createdDate": { + "type": "string", + "description": "The date that the bot alias was created.\n" + }, + "description": { + "type": "string", + "description": "A description of the alias.\n" + }, + "lastUpdatedDate": { + "type": "string", + "description": "The date that the bot alias was updated. When you create a resource, the creation date and the last updated date are the same.\n" + }, + "name": { + "type": "string", + "description": "The name of the alias. The name is not case sensitive.\n" + } + }, + "type": "object" + } + }, "aws:lex/intent:Intent": { "description": "Provides an Amazon Lex Intent resource. For more information see\n[Amazon Lex: How It Works](https://docs.aws.amazon.com/lex/latest/dg/how-it-works.html)\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 orderFlowersIntent = new aws.lex.Intent(\"order_flowers_intent\", {\n confirmationPrompt: {\n maxAttempts: 2,\n messages: [{\n content: \"Okay, your {FlowerType} will be ready for pickup by {PickupTime} on {PickupDate}. Does this sound okay?\",\n contentType: \"PlainText\",\n }],\n },\n createVersion: false,\n description: \"Intent to order a bouquet of flowers for pick up\",\n fulfillmentActivity: {\n type: \"ReturnIntent\",\n },\n rejectionStatement: {\n messages: [{\n content: \"Okay, I will not place your order.\",\n contentType: \"PlainText\",\n }],\n },\n sampleUtterances: [\n \"I would like to order some flowers\",\n \"I would like to pick up flowers\",\n ],\n slots: [\n {\n description: \"The type of flowers to pick up\",\n name: \"FlowerType\",\n priority: 1,\n sampleUtterances: [\"I would like to order {FlowerType}\"],\n slotConstraint: \"Required\",\n slotType: \"FlowerTypes\",\n slotTypeVersion: \"$LATEST\",\n valueElicitationPrompt: {\n maxAttempts: 2,\n messages: [{\n content: \"What type of flowers would you like to order?\",\n contentType: \"PlainText\",\n }],\n },\n },\n {\n description: \"The date to pick up the flowers\",\n name: \"PickupDate\",\n priority: 2,\n sampleUtterances: [\"I would like to order {FlowerType}\"],\n slotConstraint: \"Required\",\n slotType: \"AMAZON.DATE\",\n slotTypeVersion: \"$LATEST\",\n valueElicitationPrompt: {\n maxAttempts: 2,\n messages: [{\n content: \"What day do you want the {FlowerType} to be picked up?\",\n contentType: \"PlainText\",\n }],\n },\n },\n {\n description: \"The time to pick up the flowers\",\n name: \"PickupTime\",\n priority: 3,\n sampleUtterances: [\"I would like to order {FlowerType}\"],\n slotConstraint: \"Required\",\n slotType: \"AMAZON.TIME\",\n slotTypeVersion: \"$LATEST\",\n valueElicitationPrompt: {\n maxAttempts: 2,\n messages: [{\n content: \"Pick up the {FlowerType} at what time on {PickupDate}?\",\n contentType: \"PlainText\",\n }],\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norder_flowers_intent = aws.lex.Intent(\"orderFlowersIntent\",\n confirmation_prompt=aws.lex.IntentConfirmationPromptArgs(\n max_attempts=2,\n messages=[aws.lex.IntentConfirmationPromptMessageArgs(\n content=\"Okay, your {FlowerType} will be ready for pickup by {PickupTime} on {PickupDate}. Does this sound okay?\",\n content_type=\"PlainText\",\n )],\n ),\n create_version=False,\n description=\"Intent to order a bouquet of flowers for pick up\",\n fulfillment_activity=aws.lex.IntentFulfillmentActivityArgs(\n type=\"ReturnIntent\",\n ),\n rejection_statement=aws.lex.IntentRejectionStatementArgs(\n messages=[aws.lex.IntentRejectionStatementMessageArgs(\n content=\"Okay, I will not place your order.\",\n content_type=\"PlainText\",\n )],\n ),\n sample_utterances=[\n \"I would like to order some flowers\",\n \"I would like to pick up flowers\",\n ],\n slots=[\n aws.lex.IntentSlotArgs(\n description=\"The type of flowers to pick up\",\n name=\"FlowerType\",\n priority=1,\n sample_utterances=[\"I would like to order {FlowerType}\"],\n slot_constraint=\"Required\",\n slot_type=\"FlowerTypes\",\n slot_type_version=\"$LATEST\",\n value_elicitation_prompt=aws.lex.IntentSlotValueElicitationPromptArgs(\n max_attempts=2,\n message=[{\n \"content\": \"What type of flowers would you like to order?\",\n \"content_type\": \"PlainText\",\n }],\n ),\n ),\n aws.lex.IntentSlotArgs(\n description=\"The date to pick up the flowers\",\n name=\"PickupDate\",\n priority=2,\n sample_utterances=[\"I would like to order {FlowerType}\"],\n slot_constraint=\"Required\",\n slot_type=\"AMAZON.DATE\",\n slot_type_version=\"$LATEST\",\n value_elicitation_prompt=aws.lex.IntentSlotValueElicitationPromptArgs(\n max_attempts=2,\n message=[{\n \"content\": \"What day do you want the {FlowerType} to be picked up?\",\n \"content_type\": \"PlainText\",\n }],\n ),\n ),\n aws.lex.IntentSlotArgs(\n description=\"The time to pick up the flowers\",\n name=\"PickupTime\",\n priority=3,\n sample_utterances=[\"I would like to order {FlowerType}\"],\n slot_constraint=\"Required\",\n slot_type=\"AMAZON.TIME\",\n slot_type_version=\"$LATEST\",\n value_elicitation_prompt=aws.lex.IntentSlotValueElicitationPromptArgs(\n max_attempts=2,\n message=[{\n \"content\": \"Pick up the {FlowerType} at what time on {PickupDate}?\",\n \"content_type\": \"PlainText\",\n }],\n ),\n ),\n ])\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var orderFlowersIntent = new Aws.Lex.Intent(\"orderFlowersIntent\", new Aws.Lex.IntentArgs\n {\n ConfirmationPrompt = new Aws.Lex.Inputs.IntentConfirmationPromptArgs\n {\n MaxAttempts = 2,\n Messages = \n {\n new Aws.Lex.Inputs.IntentConfirmationPromptMessageArgs\n {\n Content = \"Okay, your {FlowerType} will be ready for pickup by {PickupTime} on {PickupDate}. Does this sound okay?\",\n ContentType = \"PlainText\",\n },\n },\n },\n CreateVersion = false,\n Description = \"Intent to order a bouquet of flowers for pick up\",\n FulfillmentActivity = new Aws.Lex.Inputs.IntentFulfillmentActivityArgs\n {\n Type = \"ReturnIntent\",\n },\n RejectionStatement = new Aws.Lex.Inputs.IntentRejectionStatementArgs\n {\n Messages = \n {\n new Aws.Lex.Inputs.IntentRejectionStatementMessageArgs\n {\n Content = \"Okay, I will not place your order.\",\n ContentType = \"PlainText\",\n },\n },\n },\n SampleUtterances = \n {\n \"I would like to order some flowers\",\n \"I would like to pick up flowers\",\n },\n Slots = \n {\n new Aws.Lex.Inputs.IntentSlotArgs\n {\n Description = \"The type of flowers to pick up\",\n Name = \"FlowerType\",\n Priority = 1,\n SampleUtterances = \n {\n \"I would like to order {FlowerType}\",\n },\n SlotConstraint = \"Required\",\n SlotType = \"FlowerTypes\",\n SlotTypeVersion = \"$LATEST\",\n ValueElicitationPrompt = new Aws.Lex.Inputs.IntentSlotValueElicitationPromptArgs\n {\n MaxAttempts = 2,\n Message = \n {\n \n {\n { \"content\", \"What type of flowers would you like to order?\" },\n { \"contentType\", \"PlainText\" },\n },\n },\n },\n },\n new Aws.Lex.Inputs.IntentSlotArgs\n {\n Description = \"The date to pick up the flowers\",\n Name = \"PickupDate\",\n Priority = 2,\n SampleUtterances = \n {\n \"I would like to order {FlowerType}\",\n },\n SlotConstraint = \"Required\",\n SlotType = \"AMAZON.DATE\",\n SlotTypeVersion = \"$LATEST\",\n ValueElicitationPrompt = new Aws.Lex.Inputs.IntentSlotValueElicitationPromptArgs\n {\n MaxAttempts = 2,\n Message = \n {\n \n {\n { \"content\", \"What day do you want the {FlowerType} to be picked up?\" },\n { \"contentType\", \"PlainText\" },\n },\n },\n },\n },\n new Aws.Lex.Inputs.IntentSlotArgs\n {\n Description = \"The time to pick up the flowers\",\n Name = \"PickupTime\",\n Priority = 3,\n SampleUtterances = \n {\n \"I would like to order {FlowerType}\",\n },\n SlotConstraint = \"Required\",\n SlotType = \"AMAZON.TIME\",\n SlotTypeVersion = \"$LATEST\",\n ValueElicitationPrompt = new Aws.Lex.Inputs.IntentSlotValueElicitationPromptArgs\n {\n MaxAttempts = 2,\n Message = \n {\n \n {\n { \"content\", \"Pick up the {FlowerType} at what time on {PickupDate}?\" },\n { \"contentType\", \"PlainText\" },\n },\n },\n },\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lex.NewIntent(ctx, \"orderFlowersIntent\", \u0026lex.IntentArgs{\n\t\t\tConfirmationPrompt: \u0026lex.IntentConfirmationPromptArgs{\n\t\t\t\tMaxAttempts: pulumi.Int(2),\n\t\t\t\tMessages: lex.IntentConfirmationPromptMessageArray{\n\t\t\t\t\t\u0026lex.IntentConfirmationPromptMessageArgs{\n\t\t\t\t\t\tContent: pulumi.String(\"Okay, your {FlowerType} will be ready for pickup by {PickupTime} on {PickupDate}. Does this sound okay?\"),\n\t\t\t\t\t\tContentType: pulumi.String(\"PlainText\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCreateVersion: pulumi.Bool(false),\n\t\t\tDescription: pulumi.String(\"Intent to order a bouquet of flowers for pick up\"),\n\t\t\tFulfillmentActivity: \u0026lex.IntentFulfillmentActivityArgs{\n\t\t\t\tType: pulumi.String(\"ReturnIntent\"),\n\t\t\t},\n\t\t\tRejectionStatement: \u0026lex.IntentRejectionStatementArgs{\n\t\t\t\tMessages: lex.IntentRejectionStatementMessageArray{\n\t\t\t\t\t\u0026lex.IntentRejectionStatementMessageArgs{\n\t\t\t\t\t\tContent: pulumi.String(\"Okay, I will not place your order.\"),\n\t\t\t\t\t\tContentType: pulumi.String(\"PlainText\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tSampleUtterances: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"I would like to order some flowers\"),\n\t\t\t\tpulumi.String(\"I would like to pick up flowers\"),\n\t\t\t},\n\t\t\tSlots: lex.IntentSlotArray{\n\t\t\t\t\u0026lex.IntentSlotArgs{\n\t\t\t\t\tDescription: pulumi.String(\"The type of flowers to pick up\"),\n\t\t\t\t\tName: pulumi.String(\"FlowerType\"),\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tSampleUtterances: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"I would like to order {FlowerType}\"),\n\t\t\t\t\t},\n\t\t\t\t\tSlotConstraint: pulumi.String(\"Required\"),\n\t\t\t\t\tSlotType: pulumi.String(\"FlowerTypes\"),\n\t\t\t\t\tSlotTypeVersion: pulumi.String(fmt.Sprintf(\"%v%v\", \"$\", \"LATEST\")),\n\t\t\t\t\tValueElicitationPrompt: \u0026lex.IntentSlotValueElicitationPromptArgs{\n\t\t\t\t\t\tMaxAttempts: pulumi.Int(2),\n\t\t\t\t\t\tMessage: pulumi.StringMapArray{\n\t\t\t\t\t\t\tpulumi.StringMap{\n\t\t\t\t\t\t\t\t\"content\": pulumi.String(\"What type of flowers would you like to order?\"),\n\t\t\t\t\t\t\t\t\"contentType\": pulumi.String(\"PlainText\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026lex.IntentSlotArgs{\n\t\t\t\t\tDescription: pulumi.String(\"The date to pick up the flowers\"),\n\t\t\t\t\tName: pulumi.String(\"PickupDate\"),\n\t\t\t\t\tPriority: pulumi.Int(2),\n\t\t\t\t\tSampleUtterances: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"I would like to order {FlowerType}\"),\n\t\t\t\t\t},\n\t\t\t\t\tSlotConstraint: pulumi.String(\"Required\"),\n\t\t\t\t\tSlotType: pulumi.String(\"AMAZON.DATE\"),\n\t\t\t\t\tSlotTypeVersion: pulumi.String(fmt.Sprintf(\"%v%v\", \"$\", \"LATEST\")),\n\t\t\t\t\tValueElicitationPrompt: \u0026lex.IntentSlotValueElicitationPromptArgs{\n\t\t\t\t\t\tMaxAttempts: pulumi.Int(2),\n\t\t\t\t\t\tMessage: pulumi.StringMapArray{\n\t\t\t\t\t\t\tpulumi.StringMap{\n\t\t\t\t\t\t\t\t\"content\": pulumi.String(\"What day do you want the {FlowerType} to be picked up?\"),\n\t\t\t\t\t\t\t\t\"contentType\": pulumi.String(\"PlainText\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026lex.IntentSlotArgs{\n\t\t\t\t\tDescription: pulumi.String(\"The time to pick up the flowers\"),\n\t\t\t\t\tName: pulumi.String(\"PickupTime\"),\n\t\t\t\t\tPriority: pulumi.Int(3),\n\t\t\t\t\tSampleUtterances: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"I would like to order {FlowerType}\"),\n\t\t\t\t\t},\n\t\t\t\t\tSlotConstraint: pulumi.String(\"Required\"),\n\t\t\t\t\tSlotType: pulumi.String(\"AMAZON.TIME\"),\n\t\t\t\t\tSlotTypeVersion: pulumi.String(fmt.Sprintf(\"%v%v\", \"$\", \"LATEST\")),\n\t\t\t\t\tValueElicitationPrompt: \u0026lex.IntentSlotValueElicitationPromptArgs{\n\t\t\t\t\t\tMaxAttempts: pulumi.Int(2),\n\t\t\t\t\t\tMessage: pulumi.StringMapArray{\n\t\t\t\t\t\t\tpulumi.StringMap{\n\t\t\t\t\t\t\t\t\"content\": pulumi.String(\"Pick up the {FlowerType} at what time on {PickupDate}?\"),\n\t\t\t\t\t\t\t\t\"contentType\": pulumi.String(\"PlainText\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\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{{% /example %}}\n{{% /examples %}}", "properties": { @@ -182376,7 +183587,7 @@ }, "conclusionStatement": { "$ref": "#/types/aws:lex/IntentConclusionStatement:IntentConclusionStatement", - "description": "The statement that you want Amazon Lex to convey to the user\nafter the intent is successfully fulfilled by the Lambda function.\n" + "description": "The statement that you want Amazon Lex to convey to the user\nafter the intent is successfully fulfilled by the Lambda function. This element is relevant only if\nyou provide a Lambda function in the `fulfillment_activity`. If you return the intent to the client\napplication, you can't specify this element. The `follow_up_prompt` and `conclusion_statement` are\nmutually exclusive. You can specify only one. Attributes are documented under statement.\n" }, "confirmationPrompt": { "$ref": "#/types/aws:lex/IntentConfirmationPrompt:IntentConfirmationPrompt", @@ -182384,7 +183595,7 @@ }, "createVersion": { "type": "boolean", - "description": "Determines if a new slot type version is created when the initial\nresource is created and on each update. Defaults to true.\n" + "description": "Determines if a new slot type version is created when the initial\nresource is created and on each update. Defaults to `false`.\n" }, "createdDate": { "type": "string", @@ -182400,11 +183611,11 @@ }, "followUpPrompt": { "$ref": "#/types/aws:lex/IntentFollowUpPrompt:IntentFollowUpPrompt", - "description": "Amazon Lex uses this prompt to solicit additional activity after\nfulfilling an intent. For example, after the OrderPizza intent is fulfilled, you might prompt the\nuser to order a drink.\n" + "description": "Amazon Lex uses this prompt to solicit additional activity after\nfulfilling an intent. For example, after the OrderPizza intent is fulfilled, you might prompt the\nuser to order a drink. The `follow_up_prompt` field and the `conclusion_statement` field are mutually\nexclusive. You can specify only one. Attributes are documented under follow_up_prompt.\n" }, "fulfillmentActivity": { "$ref": "#/types/aws:lex/IntentFulfillmentActivity:IntentFulfillmentActivity", - "description": "Describes how the intent is fulfilled. For example, after a\nuser provides all of the information for a pizza order, `fulfillment_activity` defines how the bot\nplaces an order with a local pizza store.\n" + "description": "Describes how the intent is fulfilled. For example, after a\nuser provides all of the information for a pizza order, `fulfillment_activity` defines how the bot\nplaces an order with a local pizza store. Attributes are documented under fulfillment_activity.\n" }, "lastUpdatedDate": { "type": "string", @@ -182420,7 +183631,7 @@ }, "rejectionStatement": { "$ref": "#/types/aws:lex/IntentRejectionStatement:IntentRejectionStatement", - "description": "When the user answers \"no\" to the question defined in\n`confirmation_prompt`, Amazon Lex responds with this statement to acknowledge that the intent was\ncanceled.\n" + "description": "If the user answers \"no\" to the question defined in the prompt field,\nAmazon Lex responds with this statement to acknowledge that the intent was canceled. Attributes are\ndocumented below under statement.\n" }, "sampleUtterances": { "type": "array", @@ -182453,7 +183664,7 @@ "inputProperties": { "conclusionStatement": { "$ref": "#/types/aws:lex/IntentConclusionStatement:IntentConclusionStatement", - "description": "The statement that you want Amazon Lex to convey to the user\nafter the intent is successfully fulfilled by the Lambda function.\n" + "description": "The statement that you want Amazon Lex to convey to the user\nafter the intent is successfully fulfilled by the Lambda function. This element is relevant only if\nyou provide a Lambda function in the `fulfillment_activity`. If you return the intent to the client\napplication, you can't specify this element. The `follow_up_prompt` and `conclusion_statement` are\nmutually exclusive. You can specify only one. Attributes are documented under statement.\n" }, "confirmationPrompt": { "$ref": "#/types/aws:lex/IntentConfirmationPrompt:IntentConfirmationPrompt", @@ -182461,7 +183672,7 @@ }, "createVersion": { "type": "boolean", - "description": "Determines if a new slot type version is created when the initial\nresource is created and on each update. Defaults to true.\n" + "description": "Determines if a new slot type version is created when the initial\nresource is created and on each update. Defaults to `false`.\n" }, "description": { "type": "string", @@ -182473,11 +183684,11 @@ }, "followUpPrompt": { "$ref": "#/types/aws:lex/IntentFollowUpPrompt:IntentFollowUpPrompt", - "description": "Amazon Lex uses this prompt to solicit additional activity after\nfulfilling an intent. For example, after the OrderPizza intent is fulfilled, you might prompt the\nuser to order a drink.\n" + "description": "Amazon Lex uses this prompt to solicit additional activity after\nfulfilling an intent. For example, after the OrderPizza intent is fulfilled, you might prompt the\nuser to order a drink. The `follow_up_prompt` field and the `conclusion_statement` field are mutually\nexclusive. You can specify only one. Attributes are documented under follow_up_prompt.\n" }, "fulfillmentActivity": { "$ref": "#/types/aws:lex/IntentFulfillmentActivity:IntentFulfillmentActivity", - "description": "Describes how the intent is fulfilled. For example, after a\nuser provides all of the information for a pizza order, `fulfillment_activity` defines how the bot\nplaces an order with a local pizza store.\n" + "description": "Describes how the intent is fulfilled. For example, after a\nuser provides all of the information for a pizza order, `fulfillment_activity` defines how the bot\nplaces an order with a local pizza store. Attributes are documented under fulfillment_activity.\n" }, "name": { "type": "string", @@ -182489,7 +183700,7 @@ }, "rejectionStatement": { "$ref": "#/types/aws:lex/IntentRejectionStatement:IntentRejectionStatement", - "description": "When the user answers \"no\" to the question defined in\n`confirmation_prompt`, Amazon Lex responds with this statement to acknowledge that the intent was\ncanceled.\n" + "description": "If the user answers \"no\" to the question defined in the prompt field,\nAmazon Lex responds with this statement to acknowledge that the intent was canceled. Attributes are\ndocumented below under statement.\n" }, "sampleUtterances": { "type": "array", @@ -182522,7 +183733,7 @@ }, "conclusionStatement": { "$ref": "#/types/aws:lex/IntentConclusionStatement:IntentConclusionStatement", - "description": "The statement that you want Amazon Lex to convey to the user\nafter the intent is successfully fulfilled by the Lambda function.\n" + "description": "The statement that you want Amazon Lex to convey to the user\nafter the intent is successfully fulfilled by the Lambda function. This element is relevant only if\nyou provide a Lambda function in the `fulfillment_activity`. If you return the intent to the client\napplication, you can't specify this element. The `follow_up_prompt` and `conclusion_statement` are\nmutually exclusive. You can specify only one. Attributes are documented under statement.\n" }, "confirmationPrompt": { "$ref": "#/types/aws:lex/IntentConfirmationPrompt:IntentConfirmationPrompt", @@ -182530,7 +183741,7 @@ }, "createVersion": { "type": "boolean", - "description": "Determines if a new slot type version is created when the initial\nresource is created and on each update. Defaults to true.\n" + "description": "Determines if a new slot type version is created when the initial\nresource is created and on each update. Defaults to `false`.\n" }, "createdDate": { "type": "string", @@ -182546,11 +183757,11 @@ }, "followUpPrompt": { "$ref": "#/types/aws:lex/IntentFollowUpPrompt:IntentFollowUpPrompt", - "description": "Amazon Lex uses this prompt to solicit additional activity after\nfulfilling an intent. For example, after the OrderPizza intent is fulfilled, you might prompt the\nuser to order a drink.\n" + "description": "Amazon Lex uses this prompt to solicit additional activity after\nfulfilling an intent. For example, after the OrderPizza intent is fulfilled, you might prompt the\nuser to order a drink. The `follow_up_prompt` field and the `conclusion_statement` field are mutually\nexclusive. You can specify only one. Attributes are documented under follow_up_prompt.\n" }, "fulfillmentActivity": { "$ref": "#/types/aws:lex/IntentFulfillmentActivity:IntentFulfillmentActivity", - "description": "Describes how the intent is fulfilled. For example, after a\nuser provides all of the information for a pizza order, `fulfillment_activity` defines how the bot\nplaces an order with a local pizza store.\n" + "description": "Describes how the intent is fulfilled. For example, after a\nuser provides all of the information for a pizza order, `fulfillment_activity` defines how the bot\nplaces an order with a local pizza store. Attributes are documented under fulfillment_activity.\n" }, "lastUpdatedDate": { "type": "string", @@ -182566,7 +183777,7 @@ }, "rejectionStatement": { "$ref": "#/types/aws:lex/IntentRejectionStatement:IntentRejectionStatement", - "description": "When the user answers \"no\" to the question defined in\n`confirmation_prompt`, Amazon Lex responds with this statement to acknowledge that the intent was\ncanceled.\n" + "description": "If the user answers \"no\" to the question defined in the prompt field,\nAmazon Lex responds with this statement to acknowledge that the intent was canceled. Attributes are\ndocumented below under statement.\n" }, "sampleUtterances": { "type": "array", @@ -182591,7 +183802,7 @@ } }, "aws:lex/slotType:SlotType": { - "description": "Provides an Amazon Lex Slot Type resource. For more information see\n[Amazon Lex: How It Works](https://docs.aws.amazon.com/lex/latest/dg/how-it-works.html)\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 flowerTypes = new aws.lex.SlotType(\"flower_types\", {\n createVersion: false,\n description: \"Types of flowers to order\",\n enumerationValues: [\n {\n synonyms: [\n \"Lirium\",\n \"Martagon\",\n ],\n value: \"lilies\",\n },\n {\n synonyms: [\n \"Eduardoregelia\",\n \"Podonix\",\n ],\n value: \"tulips\",\n },\n ],\n valueSelectionStrategy: \"ORIGINAL_VALUE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nflower_types = aws.lex.SlotType(\"flowerTypes\",\n create_version=False,\n description=\"Types of flowers to order\",\n enumeration_values=[\n aws.lex.SlotTypeEnumerationValueArgs(\n synonyms=[\n \"Lirium\",\n \"Martagon\",\n ],\n value=\"lilies\",\n ),\n aws.lex.SlotTypeEnumerationValueArgs(\n synonyms=[\n \"Eduardoregelia\",\n \"Podonix\",\n ],\n value=\"tulips\",\n ),\n ],\n value_selection_strategy=\"ORIGINAL_VALUE\")\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var flowerTypes = new Aws.Lex.SlotType(\"flowerTypes\", new Aws.Lex.SlotTypeArgs\n {\n CreateVersion = false,\n Description = \"Types of flowers to order\",\n EnumerationValues = \n {\n new Aws.Lex.Inputs.SlotTypeEnumerationValueArgs\n {\n Synonyms = \n {\n \"Lirium\",\n \"Martagon\",\n },\n Value = \"lilies\",\n },\n new Aws.Lex.Inputs.SlotTypeEnumerationValueArgs\n {\n Synonyms = \n {\n \"Eduardoregelia\",\n \"Podonix\",\n },\n Value = \"tulips\",\n },\n },\n ValueSelectionStrategy = \"ORIGINAL_VALUE\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lex.NewSlotType(ctx, \"flowerTypes\", \u0026lex.SlotTypeArgs{\n\t\t\tCreateVersion: pulumi.Bool(false),\n\t\t\tDescription: pulumi.String(\"Types of flowers to order\"),\n\t\t\tEnumerationValues: lex.SlotTypeEnumerationValueArray{\n\t\t\t\t\u0026lex.SlotTypeEnumerationValueArgs{\n\t\t\t\t\tSynonyms: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Lirium\"),\n\t\t\t\t\t\tpulumi.String(\"Martagon\"),\n\t\t\t\t\t},\n\t\t\t\t\tValue: pulumi.String(\"lilies\"),\n\t\t\t\t},\n\t\t\t\t\u0026lex.SlotTypeEnumerationValueArgs{\n\t\t\t\t\tSynonyms: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Eduardoregelia\"),\n\t\t\t\t\t\tpulumi.String(\"Podonix\"),\n\t\t\t\t\t},\n\t\t\t\t\tValue: pulumi.String(\"tulips\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tValueSelectionStrategy: pulumi.String(\"ORIGINAL_VALUE\"),\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{{% /example %}}\n{{% /examples %}}", + "description": "Provides an Amazon Lex Slot Type resource. For more information see\n[Amazon Lex: How It Works](https://docs.aws.amazon.com/lex/latest/dg/how-it-works.html)\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 flowerTypes = new aws.lex.SlotType(\"flower_types\", {\n createVersion: true,\n description: \"Types of flowers to order\",\n enumerationValues: [\n {\n synonyms: [\n \"Lirium\",\n \"Martagon\",\n ],\n value: \"lilies\",\n },\n {\n synonyms: [\n \"Eduardoregelia\",\n \"Podonix\",\n ],\n value: \"tulips\",\n },\n ],\n valueSelectionStrategy: \"ORIGINAL_VALUE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nflower_types = aws.lex.SlotType(\"flowerTypes\",\n create_version=True,\n description=\"Types of flowers to order\",\n enumeration_values=[\n aws.lex.SlotTypeEnumerationValueArgs(\n synonyms=[\n \"Lirium\",\n \"Martagon\",\n ],\n value=\"lilies\",\n ),\n aws.lex.SlotTypeEnumerationValueArgs(\n synonyms=[\n \"Eduardoregelia\",\n \"Podonix\",\n ],\n value=\"tulips\",\n ),\n ],\n value_selection_strategy=\"ORIGINAL_VALUE\")\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var flowerTypes = new Aws.Lex.SlotType(\"flowerTypes\", new Aws.Lex.SlotTypeArgs\n {\n CreateVersion = true,\n Description = \"Types of flowers to order\",\n EnumerationValues = \n {\n new Aws.Lex.Inputs.SlotTypeEnumerationValueArgs\n {\n Synonyms = \n {\n \"Lirium\",\n \"Martagon\",\n },\n Value = \"lilies\",\n },\n new Aws.Lex.Inputs.SlotTypeEnumerationValueArgs\n {\n Synonyms = \n {\n \"Eduardoregelia\",\n \"Podonix\",\n },\n Value = \"tulips\",\n },\n },\n ValueSelectionStrategy = \"ORIGINAL_VALUE\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lex.NewSlotType(ctx, \"flowerTypes\", \u0026lex.SlotTypeArgs{\n\t\t\tCreateVersion: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(\"Types of flowers to order\"),\n\t\t\tEnumerationValues: lex.SlotTypeEnumerationValueArray{\n\t\t\t\t\u0026lex.SlotTypeEnumerationValueArgs{\n\t\t\t\t\tSynonyms: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Lirium\"),\n\t\t\t\t\t\tpulumi.String(\"Martagon\"),\n\t\t\t\t\t},\n\t\t\t\t\tValue: pulumi.String(\"lilies\"),\n\t\t\t\t},\n\t\t\t\t\u0026lex.SlotTypeEnumerationValueArgs{\n\t\t\t\t\tSynonyms: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Eduardoregelia\"),\n\t\t\t\t\t\tpulumi.String(\"Podonix\"),\n\t\t\t\t\t},\n\t\t\t\t\tValue: pulumi.String(\"tulips\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tValueSelectionStrategy: pulumi.String(\"ORIGINAL_VALUE\"),\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{{% /example %}}\n{{% /examples %}}", "properties": { "checksum": { "type": "string", @@ -182599,7 +183810,7 @@ }, "createVersion": { "type": "boolean", - "description": "Determines if a new slot type version is created when the initial resource is created and on each\nupdate. Defaults to true.\n" + "description": "Determines if a new slot type version is created when the initial resource is created and on each\nupdate. Defaults to `false`.\n" }, "createdDate": { "type": "string", @@ -182626,7 +183837,7 @@ }, "valueSelectionStrategy": { "type": "string", - "description": "Determines the slot resolution strategy that Amazon Lex\nuses to return slot type values. `ORIGINAL_VALUE` returns the value entered by the user if the user\nvalue is similar to the slot value. `TOP_RESOLUTION` returns the first value in the resolution list\nif there is a resolution list for the slot, otherwise null is returned.\n" + "description": "Determines the slot resolution strategy that Amazon Lex\nuses to return slot type values. `ORIGINAL_VALUE` returns the value entered by the user if the user\nvalue is similar to the slot value. `TOP_RESOLUTION` returns the first value in the resolution list\nif there is a resolution list for the slot, otherwise null is returned. Defaults to `ORIGINAL_VALUE`.\n" }, "version": { "type": "string", @@ -182644,7 +183855,7 @@ "inputProperties": { "createVersion": { "type": "boolean", - "description": "Determines if a new slot type version is created when the initial resource is created and on each\nupdate. Defaults to true.\n" + "description": "Determines if a new slot type version is created when the initial resource is created and on each\nupdate. Defaults to `false`.\n" }, "description": { "type": "string", @@ -182663,7 +183874,7 @@ }, "valueSelectionStrategy": { "type": "string", - "description": "Determines the slot resolution strategy that Amazon Lex\nuses to return slot type values. `ORIGINAL_VALUE` returns the value entered by the user if the user\nvalue is similar to the slot value. `TOP_RESOLUTION` returns the first value in the resolution list\nif there is a resolution list for the slot, otherwise null is returned.\n" + "description": "Determines the slot resolution strategy that Amazon Lex\nuses to return slot type values. `ORIGINAL_VALUE` returns the value entered by the user if the user\nvalue is similar to the slot value. `TOP_RESOLUTION` returns the first value in the resolution list\nif there is a resolution list for the slot, otherwise null is returned. Defaults to `ORIGINAL_VALUE`.\n" } }, "requiredInputs": [ @@ -182678,7 +183889,7 @@ }, "createVersion": { "type": "boolean", - "description": "Determines if a new slot type version is created when the initial resource is created and on each\nupdate. Defaults to true.\n" + "description": "Determines if a new slot type version is created when the initial resource is created and on each\nupdate. Defaults to `false`.\n" }, "createdDate": { "type": "string", @@ -182705,7 +183916,7 @@ }, "valueSelectionStrategy": { "type": "string", - "description": "Determines the slot resolution strategy that Amazon Lex\nuses to return slot type values. `ORIGINAL_VALUE` returns the value entered by the user if the user\nvalue is similar to the slot value. `TOP_RESOLUTION` returns the first value in the resolution list\nif there is a resolution list for the slot, otherwise null is returned.\n" + "description": "Determines the slot resolution strategy that Amazon Lex\nuses to return slot type values. `ORIGINAL_VALUE` returns the value entered by the user if the user\nvalue is similar to the slot value. `TOP_RESOLUTION` returns the first value in the resolution list\nif there is a resolution list for the slot, otherwise null is returned. Defaults to `ORIGINAL_VALUE`.\n" }, "version": { "type": "string", @@ -184148,11 +185359,11 @@ }, "bootstrapBrokers": { "type": "string", - "description": "A comma separated list of one or more hostname:port pairs of kafka brokers suitable to boostrap connectivity to the kafka cluster. Only contains value if `client_broker` encryption in transit is set to `PLAINTEXT` or `TLS_PLAINTEXT`.\n" + "description": "A comma separated list of one or more hostname:port pairs of kafka brokers suitable to bootstrap connectivity to the kafka cluster. Only contains value if `client_broker` encryption in transit is set to `PLAINTEXT` or `TLS_PLAINTEXT`.\n" }, "bootstrapBrokersTls": { "type": "string", - "description": "A comma separated list of one or more DNS names (or IPs) and TLS port pairs kafka brokers suitable to boostrap connectivity to the kafka cluster. Only contains value if `client_broker` encryption in transit is set to `TLS_PLAINTEXT` or `TLS`.\n" + "description": "A comma separated list of one or more DNS names (or IPs) and TLS port pairs kafka brokers suitable to bootstrap connectivity to the kafka cluster. Only contains value if `client_broker` encryption in transit is set to `TLS_PLAINTEXT` or `TLS`.\n" }, "brokerNodeGroupInfo": { "$ref": "#/types/aws:msk/ClusterBrokerNodeGroupInfo:ClusterBrokerNodeGroupInfo", @@ -184285,11 +185496,11 @@ }, "bootstrapBrokers": { "type": "string", - "description": "A comma separated list of one or more hostname:port pairs of kafka brokers suitable to boostrap connectivity to the kafka cluster. Only contains value if `client_broker` encryption in transit is set to `PLAINTEXT` or `TLS_PLAINTEXT`.\n" + "description": "A comma separated list of one or more hostname:port pairs of kafka brokers suitable to bootstrap connectivity to the kafka cluster. Only contains value if `client_broker` encryption in transit is set to `PLAINTEXT` or `TLS_PLAINTEXT`.\n" }, "bootstrapBrokersTls": { "type": "string", - "description": "A comma separated list of one or more DNS names (or IPs) and TLS port pairs kafka brokers suitable to boostrap connectivity to the kafka cluster. Only contains value if `client_broker` encryption in transit is set to `TLS_PLAINTEXT` or `TLS`.\n" + "description": "A comma separated list of one or more DNS names (or IPs) and TLS port pairs kafka brokers suitable to bootstrap connectivity to the kafka cluster. Only contains value if `client_broker` encryption in transit is set to `TLS_PLAINTEXT` or `TLS`.\n" }, "brokerNodeGroupInfo": { "$ref": "#/types/aws:msk/ClusterBrokerNodeGroupInfo:ClusterBrokerNodeGroupInfo", @@ -184910,7 +186121,7 @@ }, "identifier": { "type": "string", - "description": "The indentifier for the neptune instance, if omitted, this provider will assign a random, unique identifier.\n" + "description": "The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier.\n" }, "identifierPrefix": { "type": "string", @@ -185014,7 +186225,7 @@ }, "identifier": { "type": "string", - "description": "The indentifier for the neptune instance, if omitted, this provider will assign a random, unique identifier.\n" + "description": "The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier.\n" }, "identifierPrefix": { "type": "string", @@ -185109,7 +186320,7 @@ }, "identifier": { "type": "string", - "description": "The indentifier for the neptune instance, if omitted, this provider will assign a random, unique identifier.\n" + "description": "The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier.\n" }, "identifierPrefix": { "type": "string", @@ -195927,7 +197138,7 @@ "items": { "type": "string" }, - "description": "One or more VPC subnet IDs to associate with the new proxy.\ndescribe-db-parameters.html) after initial creation of the group.\n" + "description": "One or more VPC subnet IDs to associate with the new proxy.\n" } }, "required": [ @@ -195992,7 +197203,7 @@ "items": { "type": "string" }, - "description": "One or more VPC subnet IDs to associate with the new proxy.\ndescribe-db-parameters.html) after initial creation of the group.\n" + "description": "One or more VPC subnet IDs to associate with the new proxy.\n" } }, "requiredInputs": [ @@ -196062,7 +197273,7 @@ "items": { "type": "string" }, - "description": "One or more VPC subnet IDs to associate with the new proxy.\ndescribe-db-parameters.html) after initial creation of the group.\n" + "description": "One or more VPC subnet IDs to associate with the new proxy.\n" } }, "type": "object" @@ -200243,8 +201454,7 @@ "description": "The name of the object once it is in the bucket.\n" }, "kmsKeyId": { - "type": "string", - "description": "Specifies the AWS KMS Key ARN to use for object encryption.\nThis value is a fully qualified **ARN** of the KMS Key. If using `aws.kms.Key`,\nuse the exported `arn` attribute:\n`kms_key_id = \"${aws_kms_key.foo.arn}\"`\n" + "type": "string" }, "metadata": { "type": "object", @@ -200298,6 +201508,7 @@ "contentType", "etag", "key", + "kmsKeyId", "serverSideEncryption", "storageClass", "versionId" @@ -200361,8 +201572,7 @@ "description": "The name of the object once it is in the bucket.\n" }, "kmsKeyId": { - "type": "string", - "description": "Specifies the AWS KMS Key ARN to use for object encryption.\nThis value is a fully qualified **ARN** of the KMS Key. If using `aws.kms.Key`,\nuse the exported `arn` attribute:\n`kms_key_id = \"${aws_kms_key.foo.arn}\"`\n" + "type": "string" }, "metadata": { "type": "object", @@ -200471,8 +201681,7 @@ "description": "The name of the object once it is in the bucket.\n" }, "kmsKeyId": { - "type": "string", - "description": "Specifies the AWS KMS Key ARN to use for object encryption.\nThis value is a fully qualified **ARN** of the KMS Key. If using `aws.kms.Key`,\nuse the exported `arn` attribute:\n`kms_key_id = \"${aws_kms_key.foo.arn}\"`\n" + "type": "string" }, "metadata": { "type": "object", @@ -200524,6 +201733,50 @@ "type": "object" } }, + "aws:s3/bucketOwnershipControls:BucketOwnershipControls": { + "properties": { + "bucket": { + "type": "string", + "description": "The name of the bucket that you want to associate this access point with.\n" + }, + "rule": { + "$ref": "#/types/aws:s3/BucketOwnershipControlsRule:BucketOwnershipControlsRule", + "description": "Configuration block(s) with Ownership Controls rules. Detailed below.\n" + } + }, + "required": [ + "bucket", + "rule" + ], + "inputProperties": { + "bucket": { + "type": "string", + "description": "The name of the bucket that you want to associate this access point with.\n" + }, + "rule": { + "$ref": "#/types/aws:s3/BucketOwnershipControlsRule:BucketOwnershipControlsRule", + "description": "Configuration block(s) with Ownership Controls rules. Detailed below.\n" + } + }, + "requiredInputs": [ + "bucket", + "rule" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering BucketOwnershipControls resources.\n", + "properties": { + "bucket": { + "type": "string", + "description": "The name of the bucket that you want to associate this access point with.\n" + }, + "rule": { + "$ref": "#/types/aws:s3/BucketOwnershipControlsRule:BucketOwnershipControlsRule", + "description": "Configuration block(s) with Ownership Controls rules. Detailed below.\n" + } + }, + "type": "object" + } + }, "aws:s3/bucketPolicy:BucketPolicy": { "description": "Attaches a policy to an S3 bucket resource.\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 bucket = new aws.s3.Bucket(\"bucket\", {});\nconst bucketPolicy = new aws.s3.BucketPolicy(\"bucketPolicy\", {\n bucket: bucket.id,\n policy: `{\n \"Version\": \"2012-10-17\",\n \"Id\": \"MYBUCKETPOLICY\",\n \"Statement\": [\n {\n \"Sid\": \"IPAllow\",\n \"Effect\": \"Deny\",\n \"Principal\": \"*\",\n \"Action\": \"s3:*\",\n \"Resource\": \"arn:aws:s3:::my_tf_test_bucket/*\",\n \"Condition\": {\n \"IpAddress\": {\"aws:SourceIp\": \"8.8.8.8/32\"}\n }\n }\n ]\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbucket = aws.s3.Bucket(\"bucket\")\nbucket_policy = aws.s3.BucketPolicy(\"bucketPolicy\",\n bucket=bucket.id,\n policy=\"\"\"{\n \"Version\": \"2012-10-17\",\n \"Id\": \"MYBUCKETPOLICY\",\n \"Statement\": [\n {\n \"Sid\": \"IPAllow\",\n \"Effect\": \"Deny\",\n \"Principal\": \"*\",\n \"Action\": \"s3:*\",\n \"Resource\": \"arn:aws:s3:::my_tf_test_bucket/*\",\n \"Condition\": {\n \"IpAddress\": {\"aws:SourceIp\": \"8.8.8.8/32\"}\n }\n }\n ]\n}\n\"\"\")\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var bucket = new Aws.S3.Bucket(\"bucket\", new Aws.S3.BucketArgs\n {\n });\n var bucketPolicy = new Aws.S3.BucketPolicy(\"bucketPolicy\", new Aws.S3.BucketPolicyArgs\n {\n Bucket = bucket.Id,\n Policy = @\"{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Id\"\": \"\"MYBUCKETPOLICY\"\",\n \"\"Statement\"\": [\n {\n \"\"Sid\"\": \"\"IPAllow\"\",\n \"\"Effect\"\": \"\"Deny\"\",\n \"\"Principal\"\": \"\"*\"\",\n \"\"Action\"\": \"\"s3:*\"\",\n \"\"Resource\"\": \"\"arn:aws:s3:::my_tf_test_bucket/*\"\",\n \"\"Condition\"\": {\n \"\"IpAddress\"\": {\"\"aws:SourceIp\"\": \"\"8.8.8.8/32\"\"}\n }\n }\n ]\n}\n\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbucket, err := s3.NewBucket(ctx, \"bucket\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketPolicy(ctx, \"bucketPolicy\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: bucket.ID(),\n\t\t\tPolicy: pulumi.String(fmt.Sprintf(\"%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v\", \"{\\n\", \" \\\"Version\\\": \\\"2012-10-17\\\",\\n\", \" \\\"Id\\\": \\\"MYBUCKETPOLICY\\\",\\n\", \" \\\"Statement\\\": [\\n\", \" {\\n\", \" \\\"Sid\\\": \\\"IPAllow\\\",\\n\", \" \\\"Effect\\\": \\\"Deny\\\",\\n\", \" \\\"Principal\\\": \\\"*\\\",\\n\", \" \\\"Action\\\": \\\"s3:*\\\",\\n\", \" \\\"Resource\\\": \\\"arn:aws:s3:::my_tf_test_bucket/*\\\",\\n\", \" \\\"Condition\\\": {\\n\", \" \\\"IpAddress\\\": {\\\"aws:SourceIp\\\": \\\"8.8.8.8/32\\\"}\\n\", \" }\\n\", \" }\\n\", \" ]\\n\", \"}\\n\")),\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{{% /example %}}\n{{% /examples %}}", "properties": { @@ -211176,7 +212429,7 @@ "properties": { "arn": { "type": "string", - "description": "Set to the ARN of the found certificate, suitable for referencing in other resources that support ACM certificates.\n" + "description": "Amazon Resource Name (ARN) of the found certificate, suitable for referencing in other resources that support ACM certificates.\n" }, "domain": { "type": "string" @@ -212270,7 +213523,7 @@ }, "name": { "type": "string", - "description": "The name of the Auto Scaling group.\n" + "description": "Name of the Auto Scaling Group.\n" }, "newInstancesProtectedFromScaleIn": { "type": "boolean" @@ -212524,6 +213777,13 @@ "computeEnvironmentName": { "type": "string", "description": "The name of the Batch Compute Environment\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags\n" } }, "type": "object", @@ -212565,6 +213825,13 @@ "type": "string", "description": "A short, human-readable string to provide additional details about the current status of the compute environment.\n" }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags\n" + }, "type": { "type": "string", "description": "The type of the compute environment (for example, `MANAGED` or `UNMANAGED`).\n" @@ -212579,6 +213846,7 @@ "state", "status", "statusReason", + "tags", "type", "id" ] @@ -212592,6 +213860,13 @@ "name": { "type": "string", "description": "The name of the job queue.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags\n" } }, "type": "object", @@ -212635,6 +213910,13 @@ "statusReason": { "type": "string", "description": "A short, human-readable string to provide additional details about the current status\nof the job queue.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags\n" } }, "type": "object", @@ -212646,6 +213928,7 @@ "state", "status", "statusReason", + "tags", "id" ] } @@ -213044,6 +214327,64 @@ ] } }, + "aws:codeartifact/getAuthorizationToken:getAuthorizationToken": { + "description": "The CodeArtifact Authorization Token data source generates a temporary authentication token for accessing repositories in a CodeArtifact 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 test = aws.codeartifact.getAuthorizationToken({\n domain: aws_codeartifact_domain.test.domain,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.codeartifact.get_authorization_token(domain=aws_codeartifact_domain[\"test\"][\"domain\"])\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var test = Output.Create(Aws.CodeArtifact.GetAuthorizationToken.InvokeAsync(new Aws.CodeArtifact.GetAuthorizationTokenArgs\n {\n Domain = aws_codeartifact_domain.Test.Domain,\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/codeartifact\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codeartifact.GetAuthorizationToken(ctx, \u0026codeartifact.GetAuthorizationTokenArgs{\n\t\t\tDomain: aws_codeartifact_domain.Test.Domain,\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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getAuthorizationToken.\n", + "properties": { + "domain": { + "type": "string", + "description": "The name of the domain that is in scope for the generated authorization token.\n" + }, + "domainOwner": { + "type": "string", + "description": "The account number of the AWS account that owns the domain.\n" + }, + "durationSeconds": { + "type": "integer", + "description": "The time, in seconds, that the generated authorization token is valid. Valid values are `0` and between `900` and `43200`.\n" + } + }, + "type": "object", + "required": [ + "domain" + ] + }, + "outputs": { + "description": "A collection of values returned by getAuthorizationToken.\n", + "properties": { + "authorizationToken": { + "type": "string", + "description": "Temporary authorization token.\n" + }, + "domain": { + "type": "string" + }, + "domainOwner": { + "type": "string" + }, + "durationSeconds": { + "type": "integer" + }, + "expiration": { + "type": "string", + "description": "The time in UTC RFC3339 format when the authorization token expires.\n" + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + } + }, + "type": "object", + "required": [ + "authorizationToken", + "domain", + "domainOwner", + "expiration", + "id" + ] + } + }, "aws:codecommit/getRepository:getRepository": { "description": "The CodeCommit Repository data source allows the ARN, Repository ID, Repository URL for HTTP and Repository URL for SSH to be retrieved for an CodeCommit repository.\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 = pulumi.output(aws.codecommit.getRepository({\n repositoryName: \"MyTestRepository\",\n}, { async: true }));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.codecommit.get_repository(repository_name=\"MyTestRepository\")\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var test = Output.Create(Aws.CodeCommit.GetRepository.InvokeAsync(new Aws.CodeCommit.GetRepositoryArgs\n {\n RepositoryName = \"MyTestRepository\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/codecommit\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := codecommit.LookupRepository(ctx, \u0026codecommit.LookupRepositoryArgs{\n\t\t\tRepositoryName: \"MyTestRepository\",\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{{% /example %}}\n{{% /examples %}}", "inputs": { @@ -214598,6 +215939,346 @@ ] } }, + "aws:ec2/getInstanceType:getInstanceType": { + "description": "Get characteristics for a single EC2 Instance Type.\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 example = pulumi.output(aws.ec2.getInstanceType({\n instanceType: \"t2.micro\",\n}, { async: true }));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_instance_type(instance_type=\"t2.micro\")\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Aws.Ec2.GetInstanceType.InvokeAsync(new Aws.Ec2.GetInstanceTypeArgs\n {\n InstanceType = \"t2.micro\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.GetInstanceType(ctx, \u0026ec2.GetInstanceTypeArgs{\n\t\t\tInstanceType: \"t2.micro\",\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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getInstanceType.\n", + "properties": { + "defaultCores": { + "type": "integer", + "description": "The default number of cores for the instance type.\n" + }, + "defaultThreadsPerCore": { + "type": "integer", + "description": "The default number of threads per core for the instance type.\n" + }, + "fpgas": { + "type": "array", + "items": { + "$ref": "#/types/aws:ec2/getInstanceTypeFpga:getInstanceTypeFpga" + }, + "description": "Describes the FPGA accelerator settings for the instance type.\n* `fpgas.#.count` - The count of FPGA accelerators for the instance type.\n* `fpgas.#.manufacturer` - The manufacturer of the FPGA accelerator.\n* `fpgas.#.memory_size` - The size (in MiB) for the memory available to the FPGA accelerator.\n* `fpgas.#.name` - The name of the FPGA accelerator.\n" + }, + "gpuses": { + "type": "array", + "items": { + "$ref": "#/types/aws:ec2/getInstanceTypeGpus:getInstanceTypeGpus" + }, + "description": "Describes the GPU accelerators for the instance type.\n* `gpus.#.count` - The number of GPUs for the instance type.\n* `gpus.#.manufacturer` - The manufacturer of the GPU accelerator.\n* `gpus.#.memory_size` - The size (in MiB) for the memory available to the GPU accelerator.\n* `gpus.#.name` - The name of the GPU accelerator.\n" + }, + "hypervisor": { + "type": "string", + "description": "Indicates the hypervisor used for the instance type.\n* `inference_accelerators` Describes the Inference accelerators for the instance type.\n* `inference_accelerators.#.count` - The number of Inference accelerators for the instance type.\n* `inference_accelerators.#.manufacturer` - The manufacturer of the Inference accelerator.\n* `inference_accelerators.#.name` - The name of the Inference accelerator.\n" + }, + "inferenceAccelerators": { + "type": "array", + "items": { + "$ref": "#/types/aws:ec2/getInstanceTypeInferenceAccelerator:getInstanceTypeInferenceAccelerator" + } + }, + "instanceDisks": { + "type": "array", + "items": { + "$ref": "#/types/aws:ec2/getInstanceTypeInstanceDisk:getInstanceTypeInstanceDisk" + }, + "description": "Describes the disks for the instance type.\n* `instance_disks.#.count` - The number of disks with this configuration.\n* `instance_disks.#.size` - The size of the disk in GB.\n* `instance_disks.#.type` - The type of disk.\n" + }, + "instanceType": { + "type": "string", + "description": "Instance\n" + }, + "maximumIpv6AddressesPerInterface": { + "type": "integer", + "description": "The maximum number of IPv6 addresses per network interface.\n" + }, + "totalFpgaMemory": { + "type": "integer", + "description": "The total memory of all FPGA accelerators for the instance type (in MiB).\n" + }, + "totalGpuMemory": { + "type": "integer", + "description": "The total size of the memory for the GPU accelerators for the instance type (in MiB).\n" + }, + "totalInstanceStorage": { + "type": "integer", + "description": "The total size of the instance disks, in GB.\n" + } + }, + "type": "object", + "required": [ + "instanceType" + ] + }, + "outputs": { + "description": "A collection of values returned by getInstanceType.\n", + "properties": { + "autoRecoverySupported": { + "type": "boolean", + "description": "`true` if auto recovery is supported.\n" + }, + "bareMetal": { + "type": "boolean", + "description": "`true` if it is a bare metal instance type.\n" + }, + "burstablePerformanceSupported": { + "type": "boolean", + "description": "`true` if the instance type is a burstable performance instance type.\n" + }, + "currentGeneration": { + "type": "boolean", + "description": "`true` if the instance type is a current generation.\n" + }, + "dedicatedHostsSupported": { + "type": "boolean", + "description": "`true` if Dedicated Hosts are supported on the instance type.\n" + }, + "defaultCores": { + "type": "integer", + "description": "The default number of cores for the instance type.\n" + }, + "defaultThreadsPerCore": { + "type": "integer", + "description": "The default number of threads per core for the instance type.\n" + }, + "defaultVcpus": { + "type": "integer", + "description": "The default number of vCPUs for the instance type.\n" + }, + "ebsEncryptionSupport": { + "type": "string", + "description": "Indicates whether Amazon EBS encryption is supported.\n" + }, + "ebsNvmeSupport": { + "type": "string", + "description": "Indicates whether non-volatile memory express (NVMe) is supported.\n" + }, + "ebsOptimizedSupport": { + "type": "string", + "description": "Indicates that the instance type is Amazon EBS-optimized.\n" + }, + "ebsPerformanceBaselineBandwidth": { + "type": "integer", + "description": "The baseline bandwidth performance for an EBS-optimized instance type, in Mbps.\n" + }, + "ebsPerformanceBaselineIops": { + "type": "integer", + "description": "The baseline input/output storage operations per seconds for an EBS-optimized instance type.\n" + }, + "ebsPerformanceBaselineThroughput": { + "type": "number", + "description": "The baseline throughput performance for an EBS-optimized instance type, in MBps.\n" + }, + "ebsPerformanceMaximumBandwidth": { + "type": "integer", + "description": "The maximum bandwidth performance for an EBS-optimized instance type, in Mbps.\n" + }, + "ebsPerformanceMaximumIops": { + "type": "integer", + "description": "The maximum input/output storage operations per second for an EBS-optimized instance type.\n" + }, + "ebsPerformanceMaximumThroughput": { + "type": "number", + "description": "The maximum throughput performance for an EBS-optimized instance type, in MBps.\n" + }, + "efaSupported": { + "type": "boolean", + "description": "Indicates whether Elastic Fabric Adapter (EFA) is supported.\n" + }, + "enaSupport": { + "type": "string", + "description": "Indicates whether Elastic Network Adapter (ENA) is supported.\n" + }, + "fpgas": { + "type": "array", + "items": { + "$ref": "#/types/aws:ec2/getInstanceTypeFpga:getInstanceTypeFpga" + }, + "description": "Describes the FPGA accelerator settings for the instance type.\n* `fpgas.#.count` - The count of FPGA accelerators for the instance type.\n* `fpgas.#.manufacturer` - The manufacturer of the FPGA accelerator.\n* `fpgas.#.memory_size` - The size (in MiB) for the memory available to the FPGA accelerator.\n* `fpgas.#.name` - The name of the FPGA accelerator.\n" + }, + "freeTierEligible": { + "type": "boolean", + "description": "`true` if the instance type is eligible for the free tier.\n" + }, + "gpuses": { + "type": "array", + "items": { + "$ref": "#/types/aws:ec2/getInstanceTypeGpus:getInstanceTypeGpus" + }, + "description": "Describes the GPU accelerators for the instance type.\n* `gpus.#.count` - The number of GPUs for the instance type.\n* `gpus.#.manufacturer` - The manufacturer of the GPU accelerator.\n* `gpus.#.memory_size` - The size (in MiB) for the memory available to the GPU accelerator.\n* `gpus.#.name` - The name of the GPU accelerator.\n" + }, + "hibernationSupported": { + "type": "boolean", + "description": "`true` if On-Demand hibernation is supported.\n" + }, + "hypervisor": { + "type": "string", + "description": "Indicates the hypervisor used for the instance type.\n* `inference_accelerators` Describes the Inference accelerators for the instance type.\n* `inference_accelerators.#.count` - The number of Inference accelerators for the instance type.\n* `inference_accelerators.#.manufacturer` - The manufacturer of the Inference accelerator.\n* `inference_accelerators.#.name` - The name of the Inference accelerator.\n" + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "inferenceAccelerators": { + "type": "array", + "items": { + "$ref": "#/types/aws:ec2/getInstanceTypeInferenceAccelerator:getInstanceTypeInferenceAccelerator" + } + }, + "instanceDisks": { + "type": "array", + "items": { + "$ref": "#/types/aws:ec2/getInstanceTypeInstanceDisk:getInstanceTypeInstanceDisk" + }, + "description": "Describes the disks for the instance type.\n* `instance_disks.#.count` - The number of disks with this configuration.\n* `instance_disks.#.size` - The size of the disk in GB.\n* `instance_disks.#.type` - The type of disk.\n" + }, + "instanceStorageSupported": { + "type": "boolean", + "description": "`true` if instance storage is supported.\n" + }, + "instanceType": { + "type": "string" + }, + "ipv6Supported": { + "type": "boolean", + "description": "`true` if IPv6 is supported.\n" + }, + "maximumIpv4AddressesPerInterface": { + "type": "integer", + "description": "The maximum number of IPv4 addresses per network interface.\n" + }, + "maximumIpv6AddressesPerInterface": { + "type": "integer", + "description": "The maximum number of IPv6 addresses per network interface.\n" + }, + "maximumNetworkInterfaces": { + "type": "integer", + "description": "The maximum number of network interfaces for the instance type.\n" + }, + "memorySize": { + "type": "integer", + "description": "Size of the instance memory, in MiB.\n" + }, + "networkPerformance": { + "type": "string", + "description": "Describes the network performance.\n" + }, + "supportedArchitectures": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of architectures supported by the instance type.\n" + }, + "supportedPlacementStrategies": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of supported placement groups types.\n" + }, + "supportedRootDeviceTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Indicates the supported root device types.\n" + }, + "supportedUsagesClasses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Indicates whether the instance type is offered for spot or On-Demand.\n" + }, + "supportedVirtualizationTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The supported virtualization types.\n" + }, + "sustainedClockSpeed": { + "type": "number", + "description": "The speed of the processor, in GHz.\n" + }, + "totalFpgaMemory": { + "type": "integer", + "description": "The total memory of all FPGA accelerators for the instance type (in MiB).\n" + }, + "totalGpuMemory": { + "type": "integer", + "description": "The total size of the memory for the GPU accelerators for the instance type (in MiB).\n" + }, + "totalInstanceStorage": { + "type": "integer", + "description": "The total size of the instance disks, in GB.\n" + }, + "validCores": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "List of the valid number of cores that can be configured for the instance type.\n" + }, + "validThreadsPerCores": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "List of the valid number of threads per core that can be configured for the instance type.\n" + } + }, + "type": "object", + "required": [ + "autoRecoverySupported", + "bareMetal", + "burstablePerformanceSupported", + "currentGeneration", + "dedicatedHostsSupported", + "defaultCores", + "defaultThreadsPerCore", + "defaultVcpus", + "ebsEncryptionSupport", + "ebsNvmeSupport", + "ebsOptimizedSupport", + "ebsPerformanceBaselineBandwidth", + "ebsPerformanceBaselineIops", + "ebsPerformanceBaselineThroughput", + "ebsPerformanceMaximumBandwidth", + "ebsPerformanceMaximumIops", + "ebsPerformanceMaximumThroughput", + "efaSupported", + "enaSupport", + "fpgas", + "freeTierEligible", + "gpuses", + "hibernationSupported", + "hypervisor", + "inferenceAccelerators", + "instanceDisks", + "instanceStorageSupported", + "instanceType", + "ipv6Supported", + "maximumIpv4AddressesPerInterface", + "maximumIpv6AddressesPerInterface", + "maximumNetworkInterfaces", + "memorySize", + "networkPerformance", + "supportedArchitectures", + "supportedPlacementStrategies", + "supportedRootDeviceTypes", + "supportedUsagesClasses", + "supportedVirtualizationTypes", + "sustainedClockSpeed", + "totalFpgaMemory", + "totalGpuMemory", + "totalInstanceStorage", + "validCores", + "validThreadsPerCores", + "id" + ] + } + }, "aws:ec2/getInstanceTypeOffering:getInstanceTypeOffering": { "description": "Information about single EC2 Instance Type Offering.\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 example = pulumi.output(aws.ec2.getInstanceTypeOffering({\n filters: [{\n name: \"instance-type\",\n values: [\n \"t2.micro\",\n \"t3.micro\",\n ],\n }],\n preferredInstanceTypes: [\n \"t3.micro\",\n \"t2.micro\",\n ],\n}, { async: true }));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.get_instance_type_offering(filters=[aws.ec2.GetInstanceTypeOfferingFilterArgs(\n name=\"instance-type\",\n values=[\n \"t2.micro\",\n \"t3.micro\",\n ],\n )],\n preferred_instance_types=[\n \"t3.micro\",\n \"t2.micro\",\n ])\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Aws.Ec2.GetInstanceTypeOffering.InvokeAsync(new Aws.Ec2.GetInstanceTypeOfferingArgs\n {\n Filters = \n {\n new Aws.Ec2.Inputs.GetInstanceTypeOfferingFilterArgs\n {\n Name = \"instance-type\",\n Values = \n {\n \"t2.micro\",\n \"t3.micro\",\n },\n },\n },\n PreferredInstanceTypes = \n {\n \"t3.micro\",\n \"t2.micro\",\n },\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.GetInstanceTypeOffering(ctx, \u0026ec2.GetInstanceTypeOfferingArgs{\n\t\t\tFilters: []ec2.GetInstanceTypeOfferingFilter{\n\t\t\t\tec2.GetInstanceTypeOfferingFilter{\n\t\t\t\t\tName: \"instance-type\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"t2.micro\",\n\t\t\t\t\t\t\"t3.micro\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tPreferredInstanceTypes: []string{\n\t\t\t\t\"t3.micro\",\n\t\t\t\t\"t2.micro\",\n\t\t\t},\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{{% /example %}}\n{{% /examples %}}", "inputs": { @@ -217160,7 +218841,7 @@ } }, "aws:ec2/getVpcEndpointService:getVpcEndpointService": { - "description": "The VPC Endpoint Service data source details about a specific service that\ncan be specified when creating a VPC endpoint within the region configured in the provider.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### AWS Service\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3 = aws.ec2.getVpcEndpointService({\n service: \"s3\",\n});\n// Create a VPC\nconst foo = new aws.ec2.Vpc(\"foo\", {cidrBlock: \"10.0.0.0/16\"});\n// Create a VPC endpoint\nconst ep = new aws.ec2.VpcEndpoint(\"ep\", {\n vpcId: foo.id,\n serviceName: s3.then(s3 =\u003e s3.serviceName),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3 = aws.ec2.get_vpc_endpoint_service(service=\"s3\")\n# Create a VPC\nfoo = aws.ec2.Vpc(\"foo\", cidr_block=\"10.0.0.0/16\")\n# Create a VPC endpoint\nep = aws.ec2.VpcEndpoint(\"ep\",\n vpc_id=foo.id,\n service_name=s3.service_name)\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var s3 = Output.Create(Aws.Ec2.GetVpcEndpointService.InvokeAsync(new Aws.Ec2.GetVpcEndpointServiceArgs\n {\n Service = \"s3\",\n }));\n // Create a VPC\n var foo = new Aws.Ec2.Vpc(\"foo\", new Aws.Ec2.VpcArgs\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n // Create a VPC endpoint\n var ep = new Aws.Ec2.VpcEndpoint(\"ep\", new Aws.Ec2.VpcEndpointArgs\n {\n VpcId = foo.Id,\n ServiceName = s3.Apply(s3 =\u003e s3.ServiceName),\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\topt0 := \"s3\"\n\t\ts3, err := ec2.LookupVpcEndpointService(ctx, \u0026ec2.LookupVpcEndpointServiceArgs{\n\t\t\tService: \u0026opt0,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := ec2.NewVpc(ctx, \"foo\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcEndpoint(ctx, \"ep\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: foo.ID(),\n\t\t\tServiceName: pulumi.String(s3.ServiceName),\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{{% /example %}}\n{{% example %}}\n### Non-AWS Service\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst custome = pulumi.output(aws.ec2.getVpcEndpointService({\n serviceName: \"com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8\",\n}, { async: true }));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncustome = aws.ec2.get_vpc_endpoint_service(service_name=\"com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8\")\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var custome = Output.Create(Aws.Ec2.GetVpcEndpointService.InvokeAsync(new Aws.Ec2.GetVpcEndpointServiceArgs\n {\n ServiceName = \"com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\topt0 := \"com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8\"\n\t\t_, err := ec2.LookupVpcEndpointService(ctx, \u0026ec2.LookupVpcEndpointServiceArgs{\n\t\t\tServiceName: \u0026opt0,\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{{% /example %}}\n{{% example %}}\n### Filter\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = pulumi.output(aws.ec2.getVpcEndpointService({\n filters: [{\n name: \"service-name\",\n values: [\"some-service\"],\n }],\n}, { async: true }));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_vpc_endpoint_service(filters=[aws.ec2.GetVpcEndpointServiceFilterArgs(\n name=\"service-name\",\n values=[\"some-service\"],\n)])\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var test = Output.Create(Aws.Ec2.GetVpcEndpointService.InvokeAsync(new Aws.Ec2.GetVpcEndpointServiceArgs\n {\n Filters = \n {\n new Aws.Ec2.Inputs.GetVpcEndpointServiceFilterArgs\n {\n Name = \"service-name\",\n Values = \n {\n \"some-service\",\n },\n },\n },\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.LookupVpcEndpointService(ctx, \u0026ec2.LookupVpcEndpointServiceArgs{\n\t\t\tFilters: []ec2.GetVpcEndpointServiceFilter{\n\t\t\t\tec2.GetVpcEndpointServiceFilter{\n\t\t\t\t\tName: \"service-name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"some-service\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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{{% /example %}}\n{{% /examples %}}", + "description": "The VPC Endpoint Service data source details about a specific service that\ncan be specified when creating a VPC endpoint within the region configured in the provider.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### AWS Service\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3 = aws.ec2.getVpcEndpointService({\n service: \"s3\",\n serviceType: \"Gateway\",\n});\n// Create a VPC\nconst foo = new aws.ec2.Vpc(\"foo\", {cidrBlock: \"10.0.0.0/16\"});\n// Create a VPC endpoint\nconst ep = new aws.ec2.VpcEndpoint(\"ep\", {\n vpcId: foo.id,\n serviceName: s3.then(s3 =\u003e s3.serviceName),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3 = aws.ec2.get_vpc_endpoint_service(service=\"s3\",\n service_type=\"Gateway\")\n# Create a VPC\nfoo = aws.ec2.Vpc(\"foo\", cidr_block=\"10.0.0.0/16\")\n# Create a VPC endpoint\nep = aws.ec2.VpcEndpoint(\"ep\",\n vpc_id=foo.id,\n service_name=s3.service_name)\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var s3 = Output.Create(Aws.Ec2.GetVpcEndpointService.InvokeAsync(new Aws.Ec2.GetVpcEndpointServiceArgs\n {\n Service = \"s3\",\n ServiceType = \"Gateway\",\n }));\n // Create a VPC\n var foo = new Aws.Ec2.Vpc(\"foo\", new Aws.Ec2.VpcArgs\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n // Create a VPC endpoint\n var ep = new Aws.Ec2.VpcEndpoint(\"ep\", new Aws.Ec2.VpcEndpointArgs\n {\n VpcId = foo.Id,\n ServiceName = s3.Apply(s3 =\u003e s3.ServiceName),\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\topt0 := \"s3\"\n\t\topt1 := \"Gateway\"\n\t\ts3, err := ec2.LookupVpcEndpointService(ctx, \u0026ec2.LookupVpcEndpointServiceArgs{\n\t\t\tService: \u0026opt0,\n\t\t\tServiceType: \u0026opt1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := ec2.NewVpc(ctx, \"foo\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcEndpoint(ctx, \"ep\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: foo.ID(),\n\t\t\tServiceName: pulumi.String(s3.ServiceName),\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{{% /example %}}\n{{% example %}}\n### Non-AWS Service\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst custome = pulumi.output(aws.ec2.getVpcEndpointService({\n serviceName: \"com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8\",\n}, { async: true }));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncustome = aws.ec2.get_vpc_endpoint_service(service_name=\"com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8\")\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var custome = Output.Create(Aws.Ec2.GetVpcEndpointService.InvokeAsync(new Aws.Ec2.GetVpcEndpointServiceArgs\n {\n ServiceName = \"com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\topt0 := \"com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8\"\n\t\t_, err := ec2.LookupVpcEndpointService(ctx, \u0026ec2.LookupVpcEndpointServiceArgs{\n\t\t\tServiceName: \u0026opt0,\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{{% /example %}}\n{{% example %}}\n### Filter\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = pulumi.output(aws.ec2.getVpcEndpointService({\n filters: [{\n name: \"service-name\",\n values: [\"some-service\"],\n }],\n}, { async: true }));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_vpc_endpoint_service(filters=[aws.ec2.GetVpcEndpointServiceFilterArgs(\n name=\"service-name\",\n values=[\"some-service\"],\n)])\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var test = Output.Create(Aws.Ec2.GetVpcEndpointService.InvokeAsync(new Aws.Ec2.GetVpcEndpointServiceArgs\n {\n Filters = \n {\n new Aws.Ec2.Inputs.GetVpcEndpointServiceFilterArgs\n {\n Name = \"service-name\",\n Values = \n {\n \"some-service\",\n },\n },\n },\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.LookupVpcEndpointService(ctx, \u0026ec2.LookupVpcEndpointServiceArgs{\n\t\t\tFilters: []ec2.GetVpcEndpointServiceFilter{\n\t\t\t\tec2.GetVpcEndpointServiceFilter{\n\t\t\t\t\tName: \"service-name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"some-service\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getVpcEndpointService.\n", "properties": { @@ -217179,6 +218860,10 @@ "type": "string", "description": "The service name that is specified when creating a VPC endpoint. For AWS services the service name is usually in the form `com.amazonaws.\u003cregion\u003e.\u003cservice\u003e` (the SageMaker Notebook service is an exception to this rule, the service name is in the form `aws.sagemaker.\u003cregion\u003e.notebook`).\n" }, + "serviceType": { + "type": "string", + "description": "The service type, `Gateway` or `Interface`.\n" + }, "tags": { "type": "object", "additionalProperties": { @@ -217247,8 +218932,7 @@ "type": "string" }, "serviceType": { - "type": "string", - "description": "The service type, `Gateway` or `Interface`.\n" + "type": "string" }, "tags": { "type": "object", @@ -221686,7 +223370,7 @@ } }, "aws:index/getIpRanges:getIpRanges": { - "description": "Use this data source to get the IP ranges of various AWS products and services. For more information about the contents of this data source and required JSON syntax if referencing a custom URL, see the [AWS IP Address Ranges documention](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html).\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 europeanEc2 = aws.getIpRanges({\n regions: [\n \"eu-west-1\",\n \"eu-central-1\",\n ],\n services: [\"ec2\"],\n});\nconst fromEurope = new aws.ec2.SecurityGroup(\"fromEurope\", {\n ingress: [{\n fromPort: \"443\",\n toPort: \"443\",\n protocol: \"tcp\",\n cidrBlocks: europeanEc2.then(europeanEc2 =\u003e europeanEc2.cidrBlocks),\n ipv6CidrBlocks: europeanEc2.then(europeanEc2 =\u003e europeanEc2.ipv6CidrBlocks),\n }],\n tags: {\n CreateDate: europeanEc2.then(europeanEc2 =\u003e europeanEc2.createDate),\n SyncToken: europeanEc2.then(europeanEc2 =\u003e europeanEc2.syncToken),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\neuropean_ec2 = aws.get_ip_ranges(regions=[\n \"eu-west-1\",\n \"eu-central-1\",\n ],\n services=[\"ec2\"])\nfrom_europe = aws.ec2.SecurityGroup(\"fromEurope\",\n ingress=[aws.ec2.SecurityGroupIngressArgs(\n from_port=\"443\",\n to_port=\"443\",\n protocol=\"tcp\",\n cidr_blocks=european_ec2.cidr_blocks,\n ipv6_cidr_blocks=european_ec2.ipv6_cidr_blocks,\n )],\n tags={\n \"CreateDate\": european_ec2.create_date,\n \"SyncToken\": european_ec2.sync_token,\n })\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var europeanEc2 = Output.Create(Aws.GetIpRanges.InvokeAsync(new Aws.GetIpRangesArgs\n {\n Regions = \n {\n \"eu-west-1\",\n \"eu-central-1\",\n },\n Services = \n {\n \"ec2\",\n },\n }));\n var fromEurope = new Aws.Ec2.SecurityGroup(\"fromEurope\", new Aws.Ec2.SecurityGroupArgs\n {\n Ingress = \n {\n new Aws.Ec2.Inputs.SecurityGroupIngressArgs\n {\n FromPort = 443,\n ToPort = 443,\n Protocol = \"tcp\",\n CidrBlocks = europeanEc2.Apply(europeanEc2 =\u003e europeanEc2.CidrBlocks),\n Ipv6CidrBlocks = europeanEc2.Apply(europeanEc2 =\u003e europeanEc2.Ipv6CidrBlocks),\n },\n },\n Tags = \n {\n { \"CreateDate\", europeanEc2.Apply(europeanEc2 =\u003e europeanEc2.CreateDate) },\n { \"SyncToken\", europeanEc2.Apply(europeanEc2 =\u003e europeanEc2.SyncToken) },\n },\n });\n }\n\n}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Use this data source to get the IP ranges of various AWS products and services. For more information about the contents of this data source and required JSON syntax if referencing a custom URL, see the [AWS IP Address Ranges documentation](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html).\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 europeanEc2 = aws.getIpRanges({\n regions: [\n \"eu-west-1\",\n \"eu-central-1\",\n ],\n services: [\"ec2\"],\n});\nconst fromEurope = new aws.ec2.SecurityGroup(\"fromEurope\", {\n ingress: [{\n fromPort: \"443\",\n toPort: \"443\",\n protocol: \"tcp\",\n cidrBlocks: europeanEc2.then(europeanEc2 =\u003e europeanEc2.cidrBlocks),\n ipv6CidrBlocks: europeanEc2.then(europeanEc2 =\u003e europeanEc2.ipv6CidrBlocks),\n }],\n tags: {\n CreateDate: europeanEc2.then(europeanEc2 =\u003e europeanEc2.createDate),\n SyncToken: europeanEc2.then(europeanEc2 =\u003e europeanEc2.syncToken),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\neuropean_ec2 = aws.get_ip_ranges(regions=[\n \"eu-west-1\",\n \"eu-central-1\",\n ],\n services=[\"ec2\"])\nfrom_europe = aws.ec2.SecurityGroup(\"fromEurope\",\n ingress=[aws.ec2.SecurityGroupIngressArgs(\n from_port=\"443\",\n to_port=\"443\",\n protocol=\"tcp\",\n cidr_blocks=european_ec2.cidr_blocks,\n ipv6_cidr_blocks=european_ec2.ipv6_cidr_blocks,\n )],\n tags={\n \"CreateDate\": european_ec2.create_date,\n \"SyncToken\": european_ec2.sync_token,\n })\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var europeanEc2 = Output.Create(Aws.GetIpRanges.InvokeAsync(new Aws.GetIpRangesArgs\n {\n Regions = \n {\n \"eu-west-1\",\n \"eu-central-1\",\n },\n Services = \n {\n \"ec2\",\n },\n }));\n var fromEurope = new Aws.Ec2.SecurityGroup(\"fromEurope\", new Aws.Ec2.SecurityGroupArgs\n {\n Ingress = \n {\n new Aws.Ec2.Inputs.SecurityGroupIngressArgs\n {\n FromPort = 443,\n ToPort = 443,\n Protocol = \"tcp\",\n CidrBlocks = europeanEc2.Apply(europeanEc2 =\u003e europeanEc2.CidrBlocks),\n Ipv6CidrBlocks = europeanEc2.Apply(europeanEc2 =\u003e europeanEc2.Ipv6CidrBlocks),\n },\n },\n Tags = \n {\n { \"CreateDate\", europeanEc2.Apply(europeanEc2 =\u003e europeanEc2.CreateDate) },\n { \"SyncToken\", europeanEc2.Apply(europeanEc2 =\u003e europeanEc2.SyncToken) },\n },\n });\n }\n\n}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getIpRanges.\n", "properties": { @@ -221706,7 +223390,7 @@ }, "url": { "type": "string", - "description": "Custom URL for source JSON file. Syntax must match [AWS IP Address Ranges documention](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html). Defaults to `https://ip-ranges.amazonaws.com/ip-ranges.json`.\n" + "description": "Custom URL for source JSON file. Syntax must match [AWS IP Address Ranges documentation](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html). Defaults to `https://ip-ranges.amazonaws.com/ip-ranges.json`.\n" } }, "type": "object", @@ -221776,14 +223460,16 @@ "description": "A collection of values returned by getPartition.\n", "properties": { "dnsSuffix": { - "type": "string" + "type": "string", + "description": "Base DNS domain name for the current partition (e.g. `amazonaws.com` in AWS Commercial, `amazonaws.com.cn` in AWS China).\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "partition": { - "type": "string" + "type": "string", + "description": "Identifier of the current partition (e.g. `aws` in AWS Commercial, `aws-cn` in AWS China).\n" } }, "type": "object", @@ -223154,6 +224840,80 @@ ] } }, + "aws:lex/getBotAlias:getBotAlias": { + "description": "Provides details about a specific Amazon Lex Bot Alias.\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 orderFlowersProd = pulumi.output(aws.lex.getBotAlias({\n botName: \"OrderFlowers\",\n name: \"OrderFlowersProd\",\n}, { async: true }));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norder_flowers_prod = aws.lex.get_bot_alias(bot_name=\"OrderFlowers\",\n name=\"OrderFlowersProd\")\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var orderFlowersProd = Output.Create(Aws.Lex.GetBotAlias.InvokeAsync(new Aws.Lex.GetBotAliasArgs\n {\n BotName = \"OrderFlowers\",\n Name = \"OrderFlowersProd\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lex.LookupBotAlias(ctx, \u0026lex.LookupBotAliasArgs{\n\t\t\tBotName: \"OrderFlowers\",\n\t\t\tName: \"OrderFlowersProd\",\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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getBotAlias.\n", + "properties": { + "botName": { + "type": "string", + "description": "The name of the bot.\n" + }, + "name": { + "type": "string", + "description": "The name of the bot alias. The name is case sensitive.\n" + } + }, + "type": "object", + "required": [ + "botName", + "name" + ] + }, + "outputs": { + "description": "A collection of values returned by getBotAlias.\n", + "properties": { + "arn": { + "type": "string", + "description": "The ARN of the bot alias.\n" + }, + "botName": { + "type": "string", + "description": "The name of the bot.\n" + }, + "botVersion": { + "type": "string", + "description": "The version of the bot that the alias points to.\n" + }, + "checksum": { + "type": "string", + "description": "Checksum of the bot alias.\n" + }, + "createdDate": { + "type": "string", + "description": "The date that the bot alias was created.\n" + }, + "description": { + "type": "string", + "description": "A description of the alias.\n" + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "lastUpdatedDate": { + "type": "string", + "description": "The date that the bot alias was updated. When you create a resource, the creation date and the last updated date are the same.\n" + }, + "name": { + "type": "string", + "description": "The name of the alias. The name is not case sensitive.\n" + } + }, + "type": "object", + "required": [ + "arn", + "botName", + "botVersion", + "checksum", + "createdDate", + "description", + "lastUpdatedDate", + "name", + "id" + ] + } + }, "aws:lex/getIntent:getIntent": { "description": "Provides details about a specific Amazon Lex Intent.\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 orderFlowers = pulumi.output(aws.lex.getIntent({\n name: \"OrderFlowers\",\n version: \"$LATEST\",\n}, { async: true }));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norder_flowers = aws.lex.get_intent(name=\"OrderFlowers\",\n version=\"$LATEST\")\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var orderFlowers = Output.Create(Aws.Lex.GetIntent.InvokeAsync(new Aws.Lex.GetIntentArgs\n {\n Name = \"OrderFlowers\",\n Version = \"$LATEST\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\topt0 := fmt.Sprintf(\"%v%v\", \"$\", \"LATEST\")\n\t\t_, err := lex.LookupIntent(ctx, \u0026lex.LookupIntentArgs{\n\t\t\tName: \"OrderFlowers\",\n\t\t\tVersion: \u0026opt0,\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{{% /example %}}\n{{% /examples %}}", "inputs": { @@ -225796,6 +227556,73 @@ ] } }, + "aws:redshift/getOrderableCluster:getOrderableCluster": { + "description": "Information about Redshift Orderable Clusters and valid parameter combinations.\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 = pulumi.output(aws.redshift.getOrderableCluster({\n clusterType: \"multi-node\",\n preferredNodeTypes: [\n \"dc2.large\",\n \"ds2.xlarge\",\n ],\n}, { async: true }));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.redshift.get_orderable_cluster(cluster_type=\"multi-node\",\n preferred_node_types=[\n \"dc2.large\",\n \"ds2.xlarge\",\n ])\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var test = Output.Create(Aws.RedShift.GetOrderableCluster.InvokeAsync(new Aws.RedShift.GetOrderableClusterArgs\n {\n ClusterType = \"multi-node\",\n PreferredNodeTypes = \n {\n \"dc2.large\",\n \"ds2.xlarge\",\n },\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\topt0 := \"multi-node\"\n\t\t_, err := redshift.GetOrderableCluster(ctx, \u0026redshift.GetOrderableClusterArgs{\n\t\t\tClusterType: \u0026opt0,\n\t\t\tPreferredNodeTypes: []string{\n\t\t\t\t\"dc2.large\",\n\t\t\t\t\"ds2.xlarge\",\n\t\t\t},\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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getOrderableCluster.\n", + "properties": { + "clusterType": { + "type": "string", + "description": "Reshift Cluster type. e.g. `multi-node` or `single-node`\n" + }, + "clusterVersion": { + "type": "string", + "description": "Redshift Cluster version. e.g. `1.0`\n" + }, + "nodeType": { + "type": "string", + "description": "Redshift Cluster node type. e.g. `dc2.8xlarge`\n" + }, + "preferredNodeTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Ordered list of preferred Redshift Cluster node types. The first match in this list will be returned. If no preferred matches are found and the original search returned more than one result, an error is returned.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getOrderableCluster.\n", + "properties": { + "availabilityZones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of Availability Zone names where the Redshit Cluster is available.\n" + }, + "clusterType": { + "type": "string" + }, + "clusterVersion": { + "type": "string" + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "nodeType": { + "type": "string" + }, + "preferredNodeTypes": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object", + "required": [ + "availabilityZones", + "clusterType", + "clusterVersion", + "nodeType", + "id" + ] + } + }, "aws:redshift/getServiceAccount:getServiceAccount": { "description": "Use this data source to get the Account ID of the [AWS Redshift Service Account](http://docs.aws.amazon.com/redshift/latest/mgmt/db-auditing.html#db-auditing-enable-logging)\nin a given region for the purpose of allowing Redshift to store audit data in S3.\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 main = pulumi.output(aws.redshift.getServiceAccount({ async: true }));\nconst bucket = new aws.s3.Bucket(\"bucket\", {\n forceDestroy: true,\n policy: pulumi.interpolate`{\n\t\"Version\": \"2008-10-17\",\n\t\"Statement\": [\n\t\t{\n \"Sid\": \"Put bucket policy needed for audit logging\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n\t\t \"AWS\": \"${main.arn}\"\n },\n \"Action\": \"s3:PutObject\",\n \"Resource\": \"arn:aws:s3:::tf-redshift-logging-test-bucket/*\"\n },\n {\n \"Sid\": \"Get bucket policy needed for audit logging \",\n \"Effect\": \"Allow\",\n \"Principal\": {\n\t\t \"AWS\": \"${main.arn}\"\n },\n \"Action\": \"s3:GetBucketAcl\",\n \"Resource\": \"arn:aws:s3:::tf-redshift-logging-test-bucket\"\n }\n\t]\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.redshift.get_service_account()\nbucket = aws.s3.Bucket(\"bucket\",\n force_destroy=True,\n policy=f\"\"\"{{\n\t\"Version\": \"2008-10-17\",\n\t\"Statement\": [\n\t\t{{\n \"Sid\": \"Put bucket policy needed for audit logging\",\n \"Effect\": \"Allow\",\n \"Principal\": {{\n\t\t \"AWS\": \"{main.arn}\"\n }},\n \"Action\": \"s3:PutObject\",\n \"Resource\": \"arn:aws:s3:::tf-redshift-logging-test-bucket/*\"\n }},\n {{\n \"Sid\": \"Get bucket policy needed for audit logging \",\n \"Effect\": \"Allow\",\n \"Principal\": {{\n\t\t \"AWS\": \"{main.arn}\"\n }},\n \"Action\": \"s3:GetBucketAcl\",\n \"Resource\": \"arn:aws:s3:::tf-redshift-logging-test-bucket\"\n }}\n\t]\n}}\n\n\"\"\")\n```\n```csharp\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var main = Output.Create(Aws.RedShift.GetServiceAccount.InvokeAsync());\n var bucket = new Aws.S3.Bucket(\"bucket\", new Aws.S3.BucketArgs\n {\n ForceDestroy = true,\n Policy = Output.Tuple(main, main).Apply(values =\u003e\n {\n var main = values.Item1;\n var main1 = values.Item2;\n return @$\"{{\n\t\"\"Version\"\": \"\"2008-10-17\"\",\n\t\"\"Statement\"\": [\n\t\t{{\n \"\"Sid\"\": \"\"Put bucket policy needed for audit logging\"\",\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Principal\"\": {{\n\t\t \"\"AWS\"\": \"\"{main.Arn}\"\"\n }},\n \"\"Action\"\": \"\"s3:PutObject\"\",\n \"\"Resource\"\": \"\"arn:aws:s3:::tf-redshift-logging-test-bucket/*\"\"\n }},\n {{\n \"\"Sid\"\": \"\"Get bucket policy needed for audit logging \"\",\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Principal\"\": {{\n\t\t \"\"AWS\"\": \"\"{main1.Arn}\"\"\n }},\n \"\"Action\"\": \"\"s3:GetBucketAcl\"\",\n \"\"Resource\"\": \"\"arn:aws:s3:::tf-redshift-logging-test-bucket\"\"\n }}\n\t]\n}}\n\n\";\n }),\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := redshift.GetServiceAccount(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucket(ctx, \"bucket\", \u0026s3.BucketArgs{\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t\tPolicy: pulumi.String(fmt.Sprintf(\"%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v\", \"{\\n\", \"\t\\\"Version\\\": \\\"2008-10-17\\\",\\n\", \"\t\\\"Statement\\\": [\\n\", \"\t\t{\\n\", \" \\\"Sid\\\": \\\"Put bucket policy needed for audit logging\\\",\\n\", \" \\\"Effect\\\": \\\"Allow\\\",\\n\", \" \\\"Principal\\\": {\\n\", \"\t\t \\\"AWS\\\": \\\"\", main.Arn, \"\\\"\\n\", \" },\\n\", \" \\\"Action\\\": \\\"s3:PutObject\\\",\\n\", \" \\\"Resource\\\": \\\"arn:aws:s3:::tf-redshift-logging-test-bucket/*\\\"\\n\", \" },\\n\", \" {\\n\", \" \\\"Sid\\\": \\\"Get bucket policy needed for audit logging \\\",\\n\", \" \\\"Effect\\\": \\\"Allow\\\",\\n\", \" \\\"Principal\\\": {\\n\", \"\t\t \\\"AWS\\\": \\\"\", main.Arn, \"\\\"\\n\", \" },\\n\", \" \\\"Action\\\": \\\"s3:GetBucketAcl\\\",\\n\", \" \\\"Resource\\\": \\\"arn:aws:s3:::tf-redshift-logging-test-bucket\\\"\\n\", \" }\\n\", \"\t]\\n\", \"}\\n\", \"\\n\")),\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{{% /example %}}\n{{% /examples %}}", "inputs": { @@ -226903,7 +228730,7 @@ "properties": { "arn": { "type": "string", - "description": "Set to the ARN of the found topic, suitable for referencing in other resources that support SNS topics.\n" + "description": "Amazon Resource Name (ARN) of the found topic, suitable for referencing in other resources that support SNS topics.\n" }, "id": { "type": "string", diff --git a/provider/go.mod b/provider/go.mod index 913caf1cf81..b6a5b5b434d 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -16,5 +16,5 @@ replace ( github.com/Azure/go-autorest => github.com/Azure/go-autorest v12.4.3+incompatible github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20200910230100-328eb4ff41df github.com/hashicorp/vault => github.com/hashicorp/vault v1.2.0 - github.com/terraform-providers/terraform-provider-aws => github.com/pulumi/terraform-provider-aws v1.38.1-0.20201007202230-c55a1eb33f6a + github.com/terraform-providers/terraform-provider-aws => github.com/pulumi/terraform-provider-aws v1.38.1-0.20201012122532-fe5406795ec7 ) diff --git a/provider/go.sum b/provider/go.sum index d4cbaa2b730..f04abca926f 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -120,8 +120,8 @@ github.com/aws/aws-sdk-go v1.19.39/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpi github.com/aws/aws-sdk-go v1.25.3/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.31.9/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/aws/aws-sdk-go v1.31.13/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= -github.com/aws/aws-sdk-go v1.34.26 h1:tw4nsSfGvCDnXt2xPe8NkxIrDui+asAWinMknPLEf80= -github.com/aws/aws-sdk-go v1.34.26/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= +github.com/aws/aws-sdk-go v1.35.2 h1:qK+noh6b9KW+5CP1NmmWsQCUbnzucSGrjHEs69MEl6A= +github.com/aws/aws-sdk-go v1.35.2/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48= github.com/beevik/etree v1.1.0 h1:T0xke/WvNtMoCqgzPhkX2r4rjY3GDZFi+FjpRZY2Jbs= github.com/beevik/etree v1.1.0/go.mod h1:r8Aw8JqVegEf0w2fDnATrX9VpkMcyFeM0FhwO62wh+A= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= @@ -402,6 +402,10 @@ github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af h1:pmfjZENx5i github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.3.0 h1:OS12ieG61fsCg5+qLJ+SsW9NicxNkg3b25OyT2yCeUc= github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik= +github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= +github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= +github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/json-iterator/go v1.1.9 h1:9yzud/Ht36ygwatGx56VwCZtlI/2AD15T1X2sjSuGns= @@ -546,8 +550,8 @@ github.com/pulumi/pulumi/sdk/v2 v2.11.3-0.20201009201355-249140242ebb h1:weg50ws github.com/pulumi/pulumi/sdk/v2 v2.11.3-0.20201009201355-249140242ebb/go.mod h1:WQ4WaHMA7mduVHAJi87iIqbWvqsuBUYccBiKK+FrayI= github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20200910230100-328eb4ff41df h1:kXSvfAz43o0D0gfxUqVCOP3NrfnGbptJBshVsqZlBqA= github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20200910230100-328eb4ff41df/go.mod h1:pVZLnLuSe/yv0XqTHFPb8xRGWPwgANT77jHeHqjXS5o= -github.com/pulumi/terraform-provider-aws v1.38.1-0.20201007202230-c55a1eb33f6a h1:rXB9T7uyLWndFn6s1OsZf7kZPMJaG3RsCzK0j/RPhb8= -github.com/pulumi/terraform-provider-aws v1.38.1-0.20201007202230-c55a1eb33f6a/go.mod h1:4NIjacQW0H/CxaRA0le+cdpoZduR5scLgAaaZ6sGbqU= +github.com/pulumi/terraform-provider-aws v1.38.1-0.20201012122532-fe5406795ec7 h1:WXqS7EMUK4q4AWM6mreEs00gMHLhrM5eUMHTyzNHPsE= +github.com/pulumi/terraform-provider-aws v1.38.1-0.20201012122532-fe5406795ec7/go.mod h1:DdjydHaAmjsZl+uZ4QLwfx9iP+trTBMjEqLeAV9/OFE= github.com/rjeczalik/notify v0.9.2/go.mod h1:aErll2f0sUX9PXZnVNyeiObbmTlk5jnMoCa4QEjJeqM= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= @@ -613,8 +617,6 @@ github.com/ulikunitz/xz v0.5.5 h1:pFrO0lVpTBXLpYw+pnLj6TbvHuyjXMfjGeCwSqCVwok= github.com/ulikunitz/xz v0.5.5/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4ABRW8= github.com/ulikunitz/xz v0.5.7 h1:YvTNdFzX6+W5m9msiYg/zpkSURPPtOlzbqYjrFn7Yt4= github.com/ulikunitz/xz v0.5.7/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= -github.com/ulikunitz/xz v0.5.8 h1:ERv8V6GKqVi23rgu5cj9pVfVzJbOqAY2Ntl88O6c2nQ= -github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= github.com/vmihailenco/msgpack v4.0.1+incompatible h1:RMF1enSPeKTlXrXdOcqjFUElywVZjjC6pqse21bKbEU= github.com/vmihailenco/msgpack v4.0.1+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= diff --git a/provider/resources.go b/provider/resources.go index 8eee152baac..e6be6d5fca7 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -2014,7 +2014,8 @@ func Provider() tfbridge.ProviderInfo { Source: "s3_bucket_analysis_configuration.html.markdown", }, }, - "aws_s3_access_point": {Tok: awsResource(s3Mod, "AccessPoint")}, + "aws_s3_access_point": {Tok: awsResource(s3Mod, "AccessPoint")}, + "aws_s3_bucket_ownership_controls": {Tok: awsResource(s3Mod, "BucketOwnershipControls")}, // Systems Manager (SSM) "aws_ssm_activation": {Tok: awsResource(ssmMod, "Activation")}, "aws_ssm_association": {Tok: awsResource(ssmMod, "Association")}, @@ -2167,11 +2168,14 @@ func Provider() tfbridge.ProviderInfo { // Access Analyzer "aws_accessanalyzer_analyzer": {Tok: awsResource(accessAnalyzerMod, "Analyzer")}, // CodeStar Notifications - "aws_codestarnotifications_notification_rule": {Tok: awsResource(codestarNotificiationsMod, "NotificationRule")}, + "aws_codestarnotifications_notification_rule": { + Tok: awsResource(codestarNotificiationsMod, "NotificationRule"), + }, // Lex "aws_lex_slot_type": {Tok: awsResource(lexMod, "SlotType")}, "aws_lex_bot": {Tok: awsResource(lexMod, "Bot")}, "aws_lex_intent": {Tok: awsResource(lexMod, "Intent")}, + "aws_lex_bot_alias": {Tok: awsResource(lexMod, "BotAlias")}, // Codeartifact "aws_codeartifact_domain": { Tok: awsResource(codeartifactMod, "Domain"), @@ -2190,6 +2194,9 @@ func Provider() tfbridge.ProviderInfo { }, }, "aws_codeartifact_domain_permissions_policy": {Tok: awsResource(codeartifactMod, "DomainPermissions")}, + "aws_codeartifact_repository_permissions_policy": { + Tok: awsResource(codeartifactMod, "RepositoryPermissionsPolicy"), + }, }, ExtraTypes: map[string]schema.ComplexTypeSpec{ "aws::Region": { @@ -3027,6 +3034,7 @@ func Provider() tfbridge.ProviderInfo { // EC2 "aws_customer_gateway": {Tok: awsDataSource(ec2Mod, "getCustomerGateway")}, "aws_instance": {Tok: awsDataSource(ec2Mod, "getInstance")}, + "aws_ec2_instance_type": {Tok: awsDataSource(ec2Mod, "getInstanceType")}, "aws_instances": {Tok: awsDataSource(ec2Mod, "getInstances")}, "aws_internet_gateway": {Tok: awsDataSource(ec2Mod, "getInternetGateway")}, "aws_launch_configuration": {Tok: awsDataSource(ec2Mod, "getLaunchConfiguration")}, @@ -3222,8 +3230,9 @@ func Provider() tfbridge.ProviderInfo { // Ram "aws_ram_resource_share": {Tok: awsDataSource(ramMod, "getResourceShare")}, // RedShift - "aws_redshift_cluster": {Tok: awsDataSource(redshiftMod, "getCluster")}, - "aws_redshift_service_account": {Tok: awsDataSource(redshiftMod, "getServiceAccount")}, + "aws_redshift_cluster": {Tok: awsDataSource(redshiftMod, "getCluster")}, + "aws_redshift_service_account": {Tok: awsDataSource(redshiftMod, "getServiceAccount")}, + "aws_redshift_orderable_cluster": {Tok: awsDataSource(redshiftMod, "getOrderableCluster")}, // Route53 "aws_route53_zone": {Tok: awsDataSource(route53Mod, "getZone")}, "aws_route53_delegation_set": {Tok: awsDataSource(route53Mod, "getDelegationSet")}, @@ -3296,19 +3305,21 @@ func Provider() tfbridge.ProviderInfo { "aws_wafv2_web_acl": {Tok: awsDataSource(wafV2Mod, "getWebAcl")}, "aws_wafv2_rule_group": {Tok: awsDataSource(wafV2Mod, "getRuleGroup")}, // Outposts - "aws_outposts_outpost": {Tok: awsDataSource(outpostsMod, "getOutpost")}, - "aws_outposts_outposts": {Tok: awsDataSource(outpostsMod, "getOutposts")}, - "aws_outposts_outpost_instance_type": {Tok: awsDataSource(outpostsMod, "getOutpostInstanceType")}, - "aws_outposts_outpost_instance_types": {Tok: awsDataSource(outpostsMod, "getOutpostInstanceTypes")}, - "aws_outposts_site": {Tok: awsDataSource(outpostsMod, "getSite")}, - "aws_outposts_sites": {Tok: awsDataSource(outpostsMod, "getSites")}, - "aws_docdb_orderable_db_instance": {Tok: awsDataSource(docdbMod, "getOrderableDbInstance")}, - "aws_docdb_engine_version": {Tok: awsDataSource(docdbMod, "getEngineVersion")}, - "aws_lex_slot_type": {Tok: awsDataSource(lexMod, "getSlotType")}, - "aws_lex_bot": {Tok: awsDataSource(lexMod, "getBot")}, - "aws_lex_intent": {Tok: awsDataSource(lexMod, "getIntent")}, - "aws_neptune_orderable_db_instance": {Tok: awsDataSource(neptuneMod, "getOrderableDbInstance")}, - "aws_neptune_engine_version": {Tok: awsDataSource(neptuneMod, "getEngineVersion")}, + "aws_outposts_outpost": {Tok: awsDataSource(outpostsMod, "getOutpost")}, + "aws_outposts_outposts": {Tok: awsDataSource(outpostsMod, "getOutposts")}, + "aws_outposts_outpost_instance_type": {Tok: awsDataSource(outpostsMod, "getOutpostInstanceType")}, + "aws_outposts_outpost_instance_types": {Tok: awsDataSource(outpostsMod, "getOutpostInstanceTypes")}, + "aws_outposts_site": {Tok: awsDataSource(outpostsMod, "getSite")}, + "aws_outposts_sites": {Tok: awsDataSource(outpostsMod, "getSites")}, + "aws_docdb_orderable_db_instance": {Tok: awsDataSource(docdbMod, "getOrderableDbInstance")}, + "aws_docdb_engine_version": {Tok: awsDataSource(docdbMod, "getEngineVersion")}, + "aws_lex_slot_type": {Tok: awsDataSource(lexMod, "getSlotType")}, + "aws_lex_bot": {Tok: awsDataSource(lexMod, "getBot")}, + "aws_lex_bot_alias": {Tok: awsDataSource(lexMod, "getBotAlias")}, + "aws_lex_intent": {Tok: awsDataSource(lexMod, "getIntent")}, + "aws_neptune_orderable_db_instance": {Tok: awsDataSource(neptuneMod, "getOrderableDbInstance")}, + "aws_neptune_engine_version": {Tok: awsDataSource(neptuneMod, "getEngineVersion")}, + "aws_codeartifact_authorization_token": {Tok: awsDataSource(codeartifactMod, "getAuthorizationToken")}, }, JavaScript: &tfbridge.JavaScriptInfo{ Dependencies: map[string]string{ diff --git a/sdk/dotnet/Acm/GetCertificate.cs b/sdk/dotnet/Acm/GetCertificate.cs index a447b593cb5..90c6f15d8de 100644 --- a/sdk/dotnet/Acm/GetCertificate.cs +++ b/sdk/dotnet/Acm/GetCertificate.cs @@ -139,7 +139,7 @@ public GetCertificateArgs() public sealed class GetCertificateResult { /// - /// Set to the ARN of the found certificate, suitable for referencing in other resources that support ACM certificates. + /// Amazon Resource Name (ARN) of the found certificate, suitable for referencing in other resources that support ACM certificates. /// public readonly string Arn; public readonly string Domain; diff --git a/sdk/dotnet/Alb/Inputs/TargetGroupStickinessArgs.cs b/sdk/dotnet/Alb/Inputs/TargetGroupStickinessArgs.cs index ab1dbf22df9..183a517d0e3 100644 --- a/sdk/dotnet/Alb/Inputs/TargetGroupStickinessArgs.cs +++ b/sdk/dotnet/Alb/Inputs/TargetGroupStickinessArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.Alb.Inputs public sealed class TargetGroupStickinessArgs : Pulumi.ResourceArgs { /// - /// The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + /// Only used when the type is `lb_cookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). /// [Input("cookieDuration")] public Input? CookieDuration { get; set; } @@ -25,7 +25,7 @@ public sealed class TargetGroupStickinessArgs : Pulumi.ResourceArgs public Input? Enabled { get; set; } /// - /// The type of sticky sessions. The only current possible value is `lb_cookie`. + /// The type of sticky sessions. The only current possible values are `lb_cookie` for ALBs and `source_ip` for NLBs. /// [Input("type", required: true)] public Input Type { get; set; } = null!; diff --git a/sdk/dotnet/Alb/Inputs/TargetGroupStickinessGetArgs.cs b/sdk/dotnet/Alb/Inputs/TargetGroupStickinessGetArgs.cs index 9ad29437916..e8a5eeca026 100644 --- a/sdk/dotnet/Alb/Inputs/TargetGroupStickinessGetArgs.cs +++ b/sdk/dotnet/Alb/Inputs/TargetGroupStickinessGetArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.Alb.Inputs public sealed class TargetGroupStickinessGetArgs : Pulumi.ResourceArgs { /// - /// The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + /// Only used when the type is `lb_cookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). /// [Input("cookieDuration")] public Input? CookieDuration { get; set; } @@ -25,7 +25,7 @@ public sealed class TargetGroupStickinessGetArgs : Pulumi.ResourceArgs public Input? Enabled { get; set; } /// - /// The type of sticky sessions. The only current possible value is `lb_cookie`. + /// The type of sticky sessions. The only current possible values are `lb_cookie` for ALBs and `source_ip` for NLBs. /// [Input("type", required: true)] public Input Type { get; set; } = null!; diff --git a/sdk/dotnet/Alb/LoadBalancer.cs b/sdk/dotnet/Alb/LoadBalancer.cs index a5171f13765..ed7c1c8b3b7 100644 --- a/sdk/dotnet/Alb/LoadBalancer.cs +++ b/sdk/dotnet/Alb/LoadBalancer.cs @@ -34,10 +34,7 @@ namespace Pulumi.Aws.Alb /// { /// aws_security_group.Lb_sg.Id, /// }, - /// Subnets = - /// { - /// aws_subnet.Public.Select(__item => __item.Id).ToList(), - /// }, + /// Subnets = aws_subnet.Public.Select(__item => __item.Id).ToList(), /// EnableDeletionProtection = true, /// AccessLogs = new Aws.LB.Inputs.LoadBalancerAccessLogsArgs /// { @@ -69,10 +66,7 @@ namespace Pulumi.Aws.Alb /// { /// Internal = false, /// LoadBalancerType = "network", - /// Subnets = - /// { - /// aws_subnet.Public.Select(__item => __item.Id).ToList(), - /// }, + /// Subnets = aws_subnet.Public.Select(__item => __item.Id).ToList(), /// EnableDeletionProtection = true, /// Tags = /// { diff --git a/sdk/dotnet/Alb/Outputs/TargetGroupStickiness.cs b/sdk/dotnet/Alb/Outputs/TargetGroupStickiness.cs index fe1075227f2..4e36e912ade 100644 --- a/sdk/dotnet/Alb/Outputs/TargetGroupStickiness.cs +++ b/sdk/dotnet/Alb/Outputs/TargetGroupStickiness.cs @@ -14,7 +14,7 @@ namespace Pulumi.Aws.Alb.Outputs public sealed class TargetGroupStickiness { /// - /// The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + /// Only used when the type is `lb_cookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). /// public readonly int? CookieDuration; /// @@ -22,7 +22,7 @@ public sealed class TargetGroupStickiness /// public readonly bool? Enabled; /// - /// The type of sticky sessions. The only current possible value is `lb_cookie`. + /// The type of sticky sessions. The only current possible values are `lb_cookie` for ALBs and `source_ip` for NLBs. /// public readonly string Type; diff --git a/sdk/dotnet/Alb/TargetGroup.cs b/sdk/dotnet/Alb/TargetGroup.cs index f1046c81967..63b41ac73aa 100644 --- a/sdk/dotnet/Alb/TargetGroup.cs +++ b/sdk/dotnet/Alb/TargetGroup.cs @@ -158,7 +158,7 @@ public partial class TargetGroup : Pulumi.CustomResource public Output SlowStart { get; private set; } = null!; /// - /// A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + /// A Stickiness block. Stickiness blocks are documented below. /// [Output("stickiness")] public Output Stickiness { get; private set; } = null!; @@ -297,7 +297,7 @@ public sealed class TargetGroupArgs : Pulumi.ResourceArgs public Input? SlowStart { get; set; } /// - /// A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + /// A Stickiness block. Stickiness blocks are documented below. /// [Input("stickiness")] public Input? Stickiness { get; set; } @@ -411,7 +411,7 @@ public sealed class TargetGroupState : Pulumi.ResourceArgs public Input? SlowStart { get; set; } /// - /// A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + /// A Stickiness block. Stickiness blocks are documented below. /// [Input("stickiness")] public Input? Stickiness { get; set; } diff --git a/sdk/dotnet/ApiGateway/UsagePlan.cs b/sdk/dotnet/ApiGateway/UsagePlan.cs index 47cd4db25e0..16042670d0b 100644 --- a/sdk/dotnet/ApiGateway/UsagePlan.cs +++ b/sdk/dotnet/ApiGateway/UsagePlan.cs @@ -97,7 +97,7 @@ public partial class UsagePlan : Pulumi.CustomResource public Output Name { get; private set; } = null!; /// - /// The AWS Markeplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace. + /// The AWS Marketplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace. /// [Output("productCode")] public Output ProductCode { get; private set; } = null!; @@ -191,7 +191,7 @@ public InputList ApiStages public Input? Name { get; set; } /// - /// The AWS Markeplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace. + /// The AWS Marketplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace. /// [Input("productCode")] public Input? ProductCode { get; set; } @@ -258,7 +258,7 @@ public InputList ApiStages public Input? Name { get; set; } /// - /// The AWS Markeplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace. + /// The AWS Marketplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace. /// [Input("productCode")] public Input? ProductCode { get; set; } diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteArgs.cs index e4222378f84..5a04a162a18 100644 --- a/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteArgs.cs @@ -30,6 +30,12 @@ public sealed class RouteSpecGrpcRouteArgs : Pulumi.ResourceArgs [Input("retryPolicy")] public Input? RetryPolicy { get; set; } + /// + /// The types of timeouts. + /// + [Input("timeout")] + public Input? Timeout { get; set; } + public RouteSpecGrpcRouteArgs() { } diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteGetArgs.cs index fad0ac70899..bcff160d1a3 100644 --- a/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteGetArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteGetArgs.cs @@ -30,6 +30,12 @@ public sealed class RouteSpecGrpcRouteGetArgs : Pulumi.ResourceArgs [Input("retryPolicy")] public Input? RetryPolicy { get; set; } + /// + /// The types of timeouts. + /// + [Input("timeout")] + public Input? Timeout { get; set; } + public RouteSpecGrpcRouteGetArgs() { } diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteMatchArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteMatchArgs.cs index 567406bd759..ecde2096268 100644 --- a/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteMatchArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteMatchArgs.cs @@ -30,6 +30,13 @@ public InputList Metadatas [Input("methodName")] public Input? MethodName { get; set; } + /// + /// The value sent by the client must begin with the specified characters. + /// This parameter must always start with /, which by itself matches all requests to the virtual router service name. + /// + [Input("prefix")] + public Input? Prefix { get; set; } + /// /// The fully qualified domain name for the service to match from the request. /// diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteMatchGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteMatchGetArgs.cs index e7b5c92e4e4..c11533522c5 100644 --- a/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteMatchGetArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteMatchGetArgs.cs @@ -30,6 +30,13 @@ public InputList Metadatas [Input("methodName")] public Input? MethodName { get; set; } + /// + /// The value sent by the client must begin with the specified characters. + /// This parameter must always start with /, which by itself matches all requests to the virtual router service name. + /// + [Input("prefix")] + public Input? Prefix { get; set; } + /// /// The fully qualified domain name for the service to match from the request. /// diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteTimeoutArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteTimeoutArgs.cs new file mode 100644 index 00000000000..32a420e9378 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteTimeoutArgs.cs @@ -0,0 +1,31 @@ +// *** 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 RouteSpecGrpcRouteTimeoutArgs : Pulumi.ResourceArgs + { + /// + /// The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + /// + [Input("idle")] + public Input? Idle { get; set; } + + /// + /// The per request timeout. + /// + [Input("perRequest")] + public Input? PerRequest { get; set; } + + public RouteSpecGrpcRouteTimeoutArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteTimeoutGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteTimeoutGetArgs.cs new file mode 100644 index 00000000000..e40b78667a0 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteTimeoutGetArgs.cs @@ -0,0 +1,31 @@ +// *** 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 RouteSpecGrpcRouteTimeoutGetArgs : Pulumi.ResourceArgs + { + /// + /// The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + /// + [Input("idle")] + public Input? Idle { get; set; } + + /// + /// The per request timeout. + /// + [Input("perRequest")] + public Input? PerRequest { get; set; } + + public RouteSpecGrpcRouteTimeoutGetArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteTimeoutIdleArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteTimeoutIdleArgs.cs new file mode 100644 index 00000000000..f1f00321c15 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteTimeoutIdleArgs.cs @@ -0,0 +1,31 @@ +// *** 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 RouteSpecGrpcRouteTimeoutIdleArgs : Pulumi.ResourceArgs + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// The number of time units. Minimum value of `0`. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public RouteSpecGrpcRouteTimeoutIdleArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteTimeoutIdleGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteTimeoutIdleGetArgs.cs new file mode 100644 index 00000000000..bc2190faeff --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteTimeoutIdleGetArgs.cs @@ -0,0 +1,31 @@ +// *** 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 RouteSpecGrpcRouteTimeoutIdleGetArgs : Pulumi.ResourceArgs + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// The number of time units. Minimum value of `0`. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public RouteSpecGrpcRouteTimeoutIdleGetArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteTimeoutPerRequestArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteTimeoutPerRequestArgs.cs new file mode 100644 index 00000000000..7207a865529 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteTimeoutPerRequestArgs.cs @@ -0,0 +1,31 @@ +// *** 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 RouteSpecGrpcRouteTimeoutPerRequestArgs : Pulumi.ResourceArgs + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// The number of time units. Minimum value of `0`. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public RouteSpecGrpcRouteTimeoutPerRequestArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteTimeoutPerRequestGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteTimeoutPerRequestGetArgs.cs new file mode 100644 index 00000000000..f5824a58405 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteTimeoutPerRequestGetArgs.cs @@ -0,0 +1,31 @@ +// *** 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 RouteSpecGrpcRouteTimeoutPerRequestGetArgs : Pulumi.ResourceArgs + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// The number of time units. Minimum value of `0`. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public RouteSpecGrpcRouteTimeoutPerRequestGetArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteArgs.cs index b98ee8a1d67..cbca403729d 100644 --- a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteArgs.cs @@ -30,6 +30,12 @@ public sealed class RouteSpecHttp2RouteArgs : Pulumi.ResourceArgs [Input("retryPolicy")] public Input? RetryPolicy { get; set; } + /// + /// The types of timeouts. + /// + [Input("timeout")] + public Input? Timeout { get; set; } + public RouteSpecHttp2RouteArgs() { } diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteGetArgs.cs index 48227017b80..4665cc2aba6 100644 --- a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteGetArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteGetArgs.cs @@ -30,6 +30,12 @@ public sealed class RouteSpecHttp2RouteGetArgs : Pulumi.ResourceArgs [Input("retryPolicy")] public Input? RetryPolicy { get; set; } + /// + /// The types of timeouts. + /// + [Input("timeout")] + public Input? Timeout { get; set; } + public RouteSpecHttp2RouteGetArgs() { } diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteTimeoutArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteTimeoutArgs.cs new file mode 100644 index 00000000000..9479328ae3b --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteTimeoutArgs.cs @@ -0,0 +1,31 @@ +// *** 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 RouteSpecHttp2RouteTimeoutArgs : Pulumi.ResourceArgs + { + /// + /// The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + /// + [Input("idle")] + public Input? Idle { get; set; } + + /// + /// The per request timeout. + /// + [Input("perRequest")] + public Input? PerRequest { get; set; } + + public RouteSpecHttp2RouteTimeoutArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteTimeoutGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteTimeoutGetArgs.cs new file mode 100644 index 00000000000..9131eed9756 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteTimeoutGetArgs.cs @@ -0,0 +1,31 @@ +// *** 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 RouteSpecHttp2RouteTimeoutGetArgs : Pulumi.ResourceArgs + { + /// + /// The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + /// + [Input("idle")] + public Input? Idle { get; set; } + + /// + /// The per request timeout. + /// + [Input("perRequest")] + public Input? PerRequest { get; set; } + + public RouteSpecHttp2RouteTimeoutGetArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteTimeoutIdleArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteTimeoutIdleArgs.cs new file mode 100644 index 00000000000..cf9d425ef3d --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteTimeoutIdleArgs.cs @@ -0,0 +1,31 @@ +// *** 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 RouteSpecHttp2RouteTimeoutIdleArgs : Pulumi.ResourceArgs + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// The number of time units. Minimum value of `0`. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public RouteSpecHttp2RouteTimeoutIdleArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteTimeoutIdleGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteTimeoutIdleGetArgs.cs new file mode 100644 index 00000000000..bf0731280e6 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteTimeoutIdleGetArgs.cs @@ -0,0 +1,31 @@ +// *** 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 RouteSpecHttp2RouteTimeoutIdleGetArgs : Pulumi.ResourceArgs + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// The number of time units. Minimum value of `0`. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public RouteSpecHttp2RouteTimeoutIdleGetArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteTimeoutPerRequestArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteTimeoutPerRequestArgs.cs new file mode 100644 index 00000000000..b27a815f9a8 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteTimeoutPerRequestArgs.cs @@ -0,0 +1,31 @@ +// *** 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 RouteSpecHttp2RouteTimeoutPerRequestArgs : Pulumi.ResourceArgs + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// The number of time units. Minimum value of `0`. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public RouteSpecHttp2RouteTimeoutPerRequestArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteTimeoutPerRequestGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteTimeoutPerRequestGetArgs.cs new file mode 100644 index 00000000000..8c04af53505 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteTimeoutPerRequestGetArgs.cs @@ -0,0 +1,31 @@ +// *** 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 RouteSpecHttp2RouteTimeoutPerRequestGetArgs : Pulumi.ResourceArgs + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// The number of time units. Minimum value of `0`. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public RouteSpecHttp2RouteTimeoutPerRequestGetArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteArgs.cs index 68d8b02a6ba..3f8b5487821 100644 --- a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteArgs.cs @@ -30,6 +30,12 @@ public sealed class RouteSpecHttpRouteArgs : Pulumi.ResourceArgs [Input("retryPolicy")] public Input? RetryPolicy { get; set; } + /// + /// The types of timeouts. + /// + [Input("timeout")] + public Input? Timeout { get; set; } + public RouteSpecHttpRouteArgs() { } diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteGetArgs.cs index 6cca4a7d189..421c73b4a88 100644 --- a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteGetArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteGetArgs.cs @@ -30,6 +30,12 @@ public sealed class RouteSpecHttpRouteGetArgs : Pulumi.ResourceArgs [Input("retryPolicy")] public Input? RetryPolicy { get; set; } + /// + /// The types of timeouts. + /// + [Input("timeout")] + public Input? Timeout { get; set; } + public RouteSpecHttpRouteGetArgs() { } diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteTimeoutArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteTimeoutArgs.cs new file mode 100644 index 00000000000..dbd2cacbb44 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteTimeoutArgs.cs @@ -0,0 +1,31 @@ +// *** 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 RouteSpecHttpRouteTimeoutArgs : Pulumi.ResourceArgs + { + /// + /// The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + /// + [Input("idle")] + public Input? Idle { get; set; } + + /// + /// The per request timeout. + /// + [Input("perRequest")] + public Input? PerRequest { get; set; } + + public RouteSpecHttpRouteTimeoutArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteTimeoutGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteTimeoutGetArgs.cs new file mode 100644 index 00000000000..0386cb626f6 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteTimeoutGetArgs.cs @@ -0,0 +1,31 @@ +// *** 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 RouteSpecHttpRouteTimeoutGetArgs : Pulumi.ResourceArgs + { + /// + /// The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + /// + [Input("idle")] + public Input? Idle { get; set; } + + /// + /// The per request timeout. + /// + [Input("perRequest")] + public Input? PerRequest { get; set; } + + public RouteSpecHttpRouteTimeoutGetArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteTimeoutIdleArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteTimeoutIdleArgs.cs new file mode 100644 index 00000000000..29012a79a64 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteTimeoutIdleArgs.cs @@ -0,0 +1,31 @@ +// *** 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 RouteSpecHttpRouteTimeoutIdleArgs : Pulumi.ResourceArgs + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// The number of time units. Minimum value of `0`. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public RouteSpecHttpRouteTimeoutIdleArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteTimeoutIdleGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteTimeoutIdleGetArgs.cs new file mode 100644 index 00000000000..54319383f8d --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteTimeoutIdleGetArgs.cs @@ -0,0 +1,31 @@ +// *** 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 RouteSpecHttpRouteTimeoutIdleGetArgs : Pulumi.ResourceArgs + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// The number of time units. Minimum value of `0`. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public RouteSpecHttpRouteTimeoutIdleGetArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteTimeoutPerRequestArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteTimeoutPerRequestArgs.cs new file mode 100644 index 00000000000..f146d0f7085 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteTimeoutPerRequestArgs.cs @@ -0,0 +1,31 @@ +// *** 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 RouteSpecHttpRouteTimeoutPerRequestArgs : Pulumi.ResourceArgs + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// The number of time units. Minimum value of `0`. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public RouteSpecHttpRouteTimeoutPerRequestArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteTimeoutPerRequestGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteTimeoutPerRequestGetArgs.cs new file mode 100644 index 00000000000..1dffc497b15 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteTimeoutPerRequestGetArgs.cs @@ -0,0 +1,31 @@ +// *** 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 RouteSpecHttpRouteTimeoutPerRequestGetArgs : Pulumi.ResourceArgs + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// The number of time units. Minimum value of `0`. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public RouteSpecHttpRouteTimeoutPerRequestGetArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecTcpRouteArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecTcpRouteArgs.cs index 49f1b9d5995..b89ce1b2f2b 100644 --- a/sdk/dotnet/AppMesh/Inputs/RouteSpecTcpRouteArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecTcpRouteArgs.cs @@ -18,6 +18,12 @@ public sealed class RouteSpecTcpRouteArgs : Pulumi.ResourceArgs [Input("action", required: true)] public Input Action { get; set; } = null!; + /// + /// The types of timeouts. + /// + [Input("timeout")] + public Input? Timeout { get; set; } + public RouteSpecTcpRouteArgs() { } diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecTcpRouteGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecTcpRouteGetArgs.cs index fa4dae53488..275e5e6cf8f 100644 --- a/sdk/dotnet/AppMesh/Inputs/RouteSpecTcpRouteGetArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecTcpRouteGetArgs.cs @@ -18,6 +18,12 @@ public sealed class RouteSpecTcpRouteGetArgs : Pulumi.ResourceArgs [Input("action", required: true)] public Input Action { get; set; } = null!; + /// + /// The types of timeouts. + /// + [Input("timeout")] + public Input? Timeout { get; set; } + public RouteSpecTcpRouteGetArgs() { } diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecTcpRouteTimeoutArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecTcpRouteTimeoutArgs.cs new file mode 100644 index 00000000000..91594db4d5d --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecTcpRouteTimeoutArgs.cs @@ -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! *** + +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 RouteSpecTcpRouteTimeoutArgs : Pulumi.ResourceArgs + { + /// + /// The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + /// + [Input("idle")] + public Input? Idle { get; set; } + + public RouteSpecTcpRouteTimeoutArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecTcpRouteTimeoutGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecTcpRouteTimeoutGetArgs.cs new file mode 100644 index 00000000000..b6cb357b61a --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecTcpRouteTimeoutGetArgs.cs @@ -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! *** + +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 RouteSpecTcpRouteTimeoutGetArgs : Pulumi.ResourceArgs + { + /// + /// The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + /// + [Input("idle")] + public Input? Idle { get; set; } + + public RouteSpecTcpRouteTimeoutGetArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecTcpRouteTimeoutIdleArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecTcpRouteTimeoutIdleArgs.cs new file mode 100644 index 00000000000..3e61b16017b --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecTcpRouteTimeoutIdleArgs.cs @@ -0,0 +1,31 @@ +// *** 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 RouteSpecTcpRouteTimeoutIdleArgs : Pulumi.ResourceArgs + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// The number of time units. Minimum value of `0`. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public RouteSpecTcpRouteTimeoutIdleArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecTcpRouteTimeoutIdleGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecTcpRouteTimeoutIdleGetArgs.cs new file mode 100644 index 00000000000..7b13dba6d0c --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecTcpRouteTimeoutIdleGetArgs.cs @@ -0,0 +1,31 @@ +// *** 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 RouteSpecTcpRouteTimeoutIdleGetArgs : Pulumi.ResourceArgs + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// The number of time units. Minimum value of `0`. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public RouteSpecTcpRouteTimeoutIdleGetArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs.cs index b0d636f7ed7..c6c637494ea 100644 --- a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.AppMesh.Inputs public sealed class VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs : Pulumi.ResourceArgs { /// - /// The TLS validation context trust for an AWS Certicate Manager (ACM) certificate. + /// The TLS validation context trust for an AWS Certificate Manager (ACM) certificate. /// [Input("acm")] public Input? Acm { get; set; } diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustGetArgs.cs index 5ce27303292..ba4616599a1 100644 --- a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustGetArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustGetArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.AppMesh.Inputs public sealed class VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustGetArgs : Pulumi.ResourceArgs { /// - /// The TLS validation context trust for an AWS Certicate Manager (ACM) certificate. + /// The TLS validation context trust for an AWS Certificate Manager (ACM) certificate. /// [Input("acm")] public Input? Acm { get; set; } diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs.cs index 68da5e77756..aa065098170 100644 --- a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.AppMesh.Inputs public sealed class VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs : Pulumi.ResourceArgs { /// - /// The TLS validation context trust for an AWS Certicate Manager (ACM) certificate. + /// The TLS validation context trust for an AWS Certificate Manager (ACM) certificate. /// [Input("acm")] public Input? Acm { get; set; } diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustGetArgs.cs index 1d34020ef3c..d3300db1e4e 100644 --- a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustGetArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustGetArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.AppMesh.Inputs public sealed class VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustGetArgs : Pulumi.ResourceArgs { /// - /// The TLS validation context trust for an AWS Certicate Manager (ACM) certificate. + /// The TLS validation context trust for an AWS Certificate Manager (ACM) certificate. /// [Input("acm")] public Input? Acm { get; set; } diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerArgs.cs index 68f1c22cbdf..ab84079a8d1 100644 --- a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerArgs.cs @@ -24,6 +24,12 @@ public sealed class VirtualNodeSpecListenerArgs : Pulumi.ResourceArgs [Input("portMapping", required: true)] public Input PortMapping { get; set; } = null!; + /// + /// Timeouts for different protocols. + /// + [Input("timeout")] + public Input? Timeout { get; set; } + /// /// The Transport Layer Security (TLS) properties for the listener /// diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerGetArgs.cs index cc289c1b40c..40e625b394a 100644 --- a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerGetArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerGetArgs.cs @@ -24,6 +24,12 @@ public sealed class VirtualNodeSpecListenerGetArgs : Pulumi.ResourceArgs [Input("portMapping", required: true)] public Input PortMapping { get; set; } = null!; + /// + /// Timeouts for different protocols. + /// + [Input("timeout")] + public Input? Timeout { get; set; } + /// /// The Transport Layer Security (TLS) properties for the listener /// diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutArgs.cs new file mode 100644 index 00000000000..2423090169f --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutArgs.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.AppMesh.Inputs +{ + + public sealed class VirtualNodeSpecListenerTimeoutArgs : Pulumi.ResourceArgs + { + /// + /// Timeouts for gRPC listeners. + /// + [Input("grpc")] + public Input? Grpc { get; set; } + + /// + /// Timeouts for HTTP listeners. + /// + [Input("http")] + public Input? Http { get; set; } + + /// + /// Timeouts for HTTP2 listeners. + /// + [Input("http2")] + public Input? Http2 { get; set; } + + /// + /// Timeouts for TCP listeners. + /// + [Input("tcp")] + public Input? Tcp { get; set; } + + public VirtualNodeSpecListenerTimeoutArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutGetArgs.cs new file mode 100644 index 00000000000..ab18656acc0 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutGetArgs.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.AppMesh.Inputs +{ + + public sealed class VirtualNodeSpecListenerTimeoutGetArgs : Pulumi.ResourceArgs + { + /// + /// Timeouts for gRPC listeners. + /// + [Input("grpc")] + public Input? Grpc { get; set; } + + /// + /// Timeouts for HTTP listeners. + /// + [Input("http")] + public Input? Http { get; set; } + + /// + /// Timeouts for HTTP2 listeners. + /// + [Input("http2")] + public Input? Http2 { get; set; } + + /// + /// Timeouts for TCP listeners. + /// + [Input("tcp")] + public Input? Tcp { get; set; } + + public VirtualNodeSpecListenerTimeoutGetArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutGrpcArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutGrpcArgs.cs new file mode 100644 index 00000000000..a3240d75f03 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutGrpcArgs.cs @@ -0,0 +1,31 @@ +// *** 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 VirtualNodeSpecListenerTimeoutGrpcArgs : Pulumi.ResourceArgs + { + /// + /// The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + /// + [Input("idle")] + public Input? Idle { get; set; } + + /// + /// The per request timeout. + /// + [Input("perRequest")] + public Input? PerRequest { get; set; } + + public VirtualNodeSpecListenerTimeoutGrpcArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutGrpcGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutGrpcGetArgs.cs new file mode 100644 index 00000000000..48776c8a71e --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutGrpcGetArgs.cs @@ -0,0 +1,31 @@ +// *** 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 VirtualNodeSpecListenerTimeoutGrpcGetArgs : Pulumi.ResourceArgs + { + /// + /// The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + /// + [Input("idle")] + public Input? Idle { get; set; } + + /// + /// The per request timeout. + /// + [Input("perRequest")] + public Input? PerRequest { get; set; } + + public VirtualNodeSpecListenerTimeoutGrpcGetArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutGrpcIdleArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutGrpcIdleArgs.cs new file mode 100644 index 00000000000..59b63eb337d --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutGrpcIdleArgs.cs @@ -0,0 +1,31 @@ +// *** 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 VirtualNodeSpecListenerTimeoutGrpcIdleArgs : Pulumi.ResourceArgs + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// The number of time units. Minimum value of `0`. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public VirtualNodeSpecListenerTimeoutGrpcIdleArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutGrpcIdleGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutGrpcIdleGetArgs.cs new file mode 100644 index 00000000000..aec559d0610 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutGrpcIdleGetArgs.cs @@ -0,0 +1,31 @@ +// *** 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 VirtualNodeSpecListenerTimeoutGrpcIdleGetArgs : Pulumi.ResourceArgs + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// The number of time units. Minimum value of `0`. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public VirtualNodeSpecListenerTimeoutGrpcIdleGetArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs.cs new file mode 100644 index 00000000000..76ff9488d06 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs.cs @@ -0,0 +1,31 @@ +// *** 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 VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs : Pulumi.ResourceArgs + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// The number of time units. Minimum value of `0`. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutGrpcPerRequestGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutGrpcPerRequestGetArgs.cs new file mode 100644 index 00000000000..4a60a222101 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutGrpcPerRequestGetArgs.cs @@ -0,0 +1,31 @@ +// *** 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 VirtualNodeSpecListenerTimeoutGrpcPerRequestGetArgs : Pulumi.ResourceArgs + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// The number of time units. Minimum value of `0`. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public VirtualNodeSpecListenerTimeoutGrpcPerRequestGetArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttp2Args.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttp2Args.cs new file mode 100644 index 00000000000..ff3a448ef8d --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttp2Args.cs @@ -0,0 +1,31 @@ +// *** 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 VirtualNodeSpecListenerTimeoutHttp2Args : Pulumi.ResourceArgs + { + /// + /// The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + /// + [Input("idle")] + public Input? Idle { get; set; } + + /// + /// The per request timeout. + /// + [Input("perRequest")] + public Input? PerRequest { get; set; } + + public VirtualNodeSpecListenerTimeoutHttp2Args() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttp2GetArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttp2GetArgs.cs new file mode 100644 index 00000000000..ce07f48ac78 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttp2GetArgs.cs @@ -0,0 +1,31 @@ +// *** 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 VirtualNodeSpecListenerTimeoutHttp2GetArgs : Pulumi.ResourceArgs + { + /// + /// The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + /// + [Input("idle")] + public Input? Idle { get; set; } + + /// + /// The per request timeout. + /// + [Input("perRequest")] + public Input? PerRequest { get; set; } + + public VirtualNodeSpecListenerTimeoutHttp2GetArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttp2IdleArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttp2IdleArgs.cs new file mode 100644 index 00000000000..3b9dfa2480c --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttp2IdleArgs.cs @@ -0,0 +1,31 @@ +// *** 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 VirtualNodeSpecListenerTimeoutHttp2IdleArgs : Pulumi.ResourceArgs + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// The number of time units. Minimum value of `0`. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public VirtualNodeSpecListenerTimeoutHttp2IdleArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttp2IdleGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttp2IdleGetArgs.cs new file mode 100644 index 00000000000..76646ed0a0a --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttp2IdleGetArgs.cs @@ -0,0 +1,31 @@ +// *** 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 VirtualNodeSpecListenerTimeoutHttp2IdleGetArgs : Pulumi.ResourceArgs + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// The number of time units. Minimum value of `0`. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public VirtualNodeSpecListenerTimeoutHttp2IdleGetArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs.cs new file mode 100644 index 00000000000..8e11343ce93 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs.cs @@ -0,0 +1,31 @@ +// *** 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 VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs : Pulumi.ResourceArgs + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// The number of time units. Minimum value of `0`. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttp2PerRequestGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttp2PerRequestGetArgs.cs new file mode 100644 index 00000000000..18695447454 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttp2PerRequestGetArgs.cs @@ -0,0 +1,31 @@ +// *** 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 VirtualNodeSpecListenerTimeoutHttp2PerRequestGetArgs : Pulumi.ResourceArgs + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// The number of time units. Minimum value of `0`. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public VirtualNodeSpecListenerTimeoutHttp2PerRequestGetArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttpArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttpArgs.cs new file mode 100644 index 00000000000..31e0f4f27e4 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttpArgs.cs @@ -0,0 +1,31 @@ +// *** 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 VirtualNodeSpecListenerTimeoutHttpArgs : Pulumi.ResourceArgs + { + /// + /// The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + /// + [Input("idle")] + public Input? Idle { get; set; } + + /// + /// The per request timeout. + /// + [Input("perRequest")] + public Input? PerRequest { get; set; } + + public VirtualNodeSpecListenerTimeoutHttpArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttpGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttpGetArgs.cs new file mode 100644 index 00000000000..e626f7d7b1b --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttpGetArgs.cs @@ -0,0 +1,31 @@ +// *** 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 VirtualNodeSpecListenerTimeoutHttpGetArgs : Pulumi.ResourceArgs + { + /// + /// The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + /// + [Input("idle")] + public Input? Idle { get; set; } + + /// + /// The per request timeout. + /// + [Input("perRequest")] + public Input? PerRequest { get; set; } + + public VirtualNodeSpecListenerTimeoutHttpGetArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttpIdleArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttpIdleArgs.cs new file mode 100644 index 00000000000..2d2f66cad6b --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttpIdleArgs.cs @@ -0,0 +1,31 @@ +// *** 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 VirtualNodeSpecListenerTimeoutHttpIdleArgs : Pulumi.ResourceArgs + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// The number of time units. Minimum value of `0`. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public VirtualNodeSpecListenerTimeoutHttpIdleArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttpIdleGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttpIdleGetArgs.cs new file mode 100644 index 00000000000..249596685e3 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttpIdleGetArgs.cs @@ -0,0 +1,31 @@ +// *** 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 VirtualNodeSpecListenerTimeoutHttpIdleGetArgs : Pulumi.ResourceArgs + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// The number of time units. Minimum value of `0`. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public VirtualNodeSpecListenerTimeoutHttpIdleGetArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttpPerRequestArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttpPerRequestArgs.cs new file mode 100644 index 00000000000..e9cbc39b00e --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttpPerRequestArgs.cs @@ -0,0 +1,31 @@ +// *** 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 VirtualNodeSpecListenerTimeoutHttpPerRequestArgs : Pulumi.ResourceArgs + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// The number of time units. Minimum value of `0`. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public VirtualNodeSpecListenerTimeoutHttpPerRequestArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttpPerRequestGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttpPerRequestGetArgs.cs new file mode 100644 index 00000000000..c2ee81ce1d7 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutHttpPerRequestGetArgs.cs @@ -0,0 +1,31 @@ +// *** 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 VirtualNodeSpecListenerTimeoutHttpPerRequestGetArgs : Pulumi.ResourceArgs + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// The number of time units. Minimum value of `0`. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public VirtualNodeSpecListenerTimeoutHttpPerRequestGetArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutTcpArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutTcpArgs.cs new file mode 100644 index 00000000000..b6d33578681 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutTcpArgs.cs @@ -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! *** + +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 VirtualNodeSpecListenerTimeoutTcpArgs : Pulumi.ResourceArgs + { + /// + /// The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + /// + [Input("idle")] + public Input? Idle { get; set; } + + public VirtualNodeSpecListenerTimeoutTcpArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutTcpGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutTcpGetArgs.cs new file mode 100644 index 00000000000..a9816e43f81 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutTcpGetArgs.cs @@ -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! *** + +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 VirtualNodeSpecListenerTimeoutTcpGetArgs : Pulumi.ResourceArgs + { + /// + /// The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + /// + [Input("idle")] + public Input? Idle { get; set; } + + public VirtualNodeSpecListenerTimeoutTcpGetArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutTcpIdleArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutTcpIdleArgs.cs new file mode 100644 index 00000000000..647e0cc5ef0 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutTcpIdleArgs.cs @@ -0,0 +1,31 @@ +// *** 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 VirtualNodeSpecListenerTimeoutTcpIdleArgs : Pulumi.ResourceArgs + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// The number of time units. Minimum value of `0`. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public VirtualNodeSpecListenerTimeoutTcpIdleArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutTcpIdleGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutTcpIdleGetArgs.cs new file mode 100644 index 00000000000..50edfc5239d --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTimeoutTcpIdleGetArgs.cs @@ -0,0 +1,31 @@ +// *** 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 VirtualNodeSpecListenerTimeoutTcpIdleGetArgs : Pulumi.ResourceArgs + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// The number of time units. Minimum value of `0`. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public VirtualNodeSpecListenerTimeoutTcpIdleGetArgs() + { + } + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTlsCertificateArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTlsCertificateArgs.cs index 752619aee09..cdc8ab3f675 100644 --- a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTlsCertificateArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTlsCertificateArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.AppMesh.Inputs public sealed class VirtualNodeSpecListenerTlsCertificateArgs : Pulumi.ResourceArgs { /// - /// An AWS Certicate Manager (ACM) certificate. + /// An AWS Certificate Manager (ACM) certificate. /// [Input("acm")] public Input? Acm { get; set; } diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTlsCertificateGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTlsCertificateGetArgs.cs index 9c05c912250..518d9423c2c 100644 --- a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTlsCertificateGetArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecListenerTlsCertificateGetArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.AppMesh.Inputs public sealed class VirtualNodeSpecListenerTlsCertificateGetArgs : Pulumi.ResourceArgs { /// - /// An AWS Certicate Manager (ACM) certificate. + /// An AWS Certificate Manager (ACM) certificate. /// [Input("acm")] public Input? Acm { get; set; } diff --git a/sdk/dotnet/AppMesh/Outputs/RouteSpecGrpcRoute.cs b/sdk/dotnet/AppMesh/Outputs/RouteSpecGrpcRoute.cs index 5d910f98abc..f6e7706c34c 100644 --- a/sdk/dotnet/AppMesh/Outputs/RouteSpecGrpcRoute.cs +++ b/sdk/dotnet/AppMesh/Outputs/RouteSpecGrpcRoute.cs @@ -25,6 +25,10 @@ public sealed class RouteSpecGrpcRoute /// The retry policy. /// public readonly Outputs.RouteSpecGrpcRouteRetryPolicy? RetryPolicy; + /// + /// The types of timeouts. + /// + public readonly Outputs.RouteSpecGrpcRouteTimeout? Timeout; [OutputConstructor] private RouteSpecGrpcRoute( @@ -32,11 +36,14 @@ private RouteSpecGrpcRoute( Outputs.RouteSpecGrpcRouteMatch match, - Outputs.RouteSpecGrpcRouteRetryPolicy? retryPolicy) + Outputs.RouteSpecGrpcRouteRetryPolicy? retryPolicy, + + Outputs.RouteSpecGrpcRouteTimeout? timeout) { Action = action; Match = match; RetryPolicy = retryPolicy; + Timeout = timeout; } } } diff --git a/sdk/dotnet/AppMesh/Outputs/RouteSpecGrpcRouteMatch.cs b/sdk/dotnet/AppMesh/Outputs/RouteSpecGrpcRouteMatch.cs index 5935e0a054f..cd877e19ce5 100644 --- a/sdk/dotnet/AppMesh/Outputs/RouteSpecGrpcRouteMatch.cs +++ b/sdk/dotnet/AppMesh/Outputs/RouteSpecGrpcRouteMatch.cs @@ -22,6 +22,11 @@ public sealed class RouteSpecGrpcRouteMatch /// public readonly string? MethodName; /// + /// The value sent by the client must begin with the specified characters. + /// This parameter must always start with /, which by itself matches all requests to the virtual router service name. + /// + public readonly string? Prefix; + /// /// The fully qualified domain name for the service to match from the request. /// public readonly string? ServiceName; @@ -32,10 +37,13 @@ private RouteSpecGrpcRouteMatch( string? methodName, + string? prefix, + string? serviceName) { Metadatas = metadatas; MethodName = methodName; + Prefix = prefix; ServiceName = serviceName; } } diff --git a/sdk/dotnet/AppMesh/Outputs/RouteSpecGrpcRouteTimeout.cs b/sdk/dotnet/AppMesh/Outputs/RouteSpecGrpcRouteTimeout.cs new file mode 100644 index 00000000000..d993b582f66 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/RouteSpecGrpcRouteTimeout.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 RouteSpecGrpcRouteTimeout + { + /// + /// The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + /// + public readonly Outputs.RouteSpecGrpcRouteTimeoutIdle? Idle; + /// + /// The per request timeout. + /// + public readonly Outputs.RouteSpecGrpcRouteTimeoutPerRequest? PerRequest; + + [OutputConstructor] + private RouteSpecGrpcRouteTimeout( + Outputs.RouteSpecGrpcRouteTimeoutIdle? idle, + + Outputs.RouteSpecGrpcRouteTimeoutPerRequest? perRequest) + { + Idle = idle; + PerRequest = perRequest; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/RouteSpecGrpcRouteTimeoutIdle.cs b/sdk/dotnet/AppMesh/Outputs/RouteSpecGrpcRouteTimeoutIdle.cs new file mode 100644 index 00000000000..18c45fe7fbf --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/RouteSpecGrpcRouteTimeoutIdle.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 RouteSpecGrpcRouteTimeoutIdle + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + public readonly string Unit; + /// + /// The number of time units. Minimum value of `0`. + /// + public readonly int Value; + + [OutputConstructor] + private RouteSpecGrpcRouteTimeoutIdle( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/RouteSpecGrpcRouteTimeoutPerRequest.cs b/sdk/dotnet/AppMesh/Outputs/RouteSpecGrpcRouteTimeoutPerRequest.cs new file mode 100644 index 00000000000..595f7daa2b9 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/RouteSpecGrpcRouteTimeoutPerRequest.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 RouteSpecGrpcRouteTimeoutPerRequest + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + public readonly string Unit; + /// + /// The number of time units. Minimum value of `0`. + /// + public readonly int Value; + + [OutputConstructor] + private RouteSpecGrpcRouteTimeoutPerRequest( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/RouteSpecHttp2Route.cs b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttp2Route.cs index e79369a6bd8..5c7bc9752e0 100644 --- a/sdk/dotnet/AppMesh/Outputs/RouteSpecHttp2Route.cs +++ b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttp2Route.cs @@ -25,6 +25,10 @@ public sealed class RouteSpecHttp2Route /// The retry policy. /// public readonly Outputs.RouteSpecHttp2RouteRetryPolicy? RetryPolicy; + /// + /// The types of timeouts. + /// + public readonly Outputs.RouteSpecHttp2RouteTimeout? Timeout; [OutputConstructor] private RouteSpecHttp2Route( @@ -32,11 +36,14 @@ private RouteSpecHttp2Route( Outputs.RouteSpecHttp2RouteMatch match, - Outputs.RouteSpecHttp2RouteRetryPolicy? retryPolicy) + Outputs.RouteSpecHttp2RouteRetryPolicy? retryPolicy, + + Outputs.RouteSpecHttp2RouteTimeout? timeout) { Action = action; Match = match; RetryPolicy = retryPolicy; + Timeout = timeout; } } } diff --git a/sdk/dotnet/AppMesh/Outputs/RouteSpecHttp2RouteTimeout.cs b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttp2RouteTimeout.cs new file mode 100644 index 00000000000..7378c36b35b --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttp2RouteTimeout.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 RouteSpecHttp2RouteTimeout + { + /// + /// The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + /// + public readonly Outputs.RouteSpecHttp2RouteTimeoutIdle? Idle; + /// + /// The per request timeout. + /// + public readonly Outputs.RouteSpecHttp2RouteTimeoutPerRequest? PerRequest; + + [OutputConstructor] + private RouteSpecHttp2RouteTimeout( + Outputs.RouteSpecHttp2RouteTimeoutIdle? idle, + + Outputs.RouteSpecHttp2RouteTimeoutPerRequest? perRequest) + { + Idle = idle; + PerRequest = perRequest; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/RouteSpecHttp2RouteTimeoutIdle.cs b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttp2RouteTimeoutIdle.cs new file mode 100644 index 00000000000..acff3d106e1 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttp2RouteTimeoutIdle.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 RouteSpecHttp2RouteTimeoutIdle + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + public readonly string Unit; + /// + /// The number of time units. Minimum value of `0`. + /// + public readonly int Value; + + [OutputConstructor] + private RouteSpecHttp2RouteTimeoutIdle( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/RouteSpecHttp2RouteTimeoutPerRequest.cs b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttp2RouteTimeoutPerRequest.cs new file mode 100644 index 00000000000..c38abd4e144 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttp2RouteTimeoutPerRequest.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 RouteSpecHttp2RouteTimeoutPerRequest + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + public readonly string Unit; + /// + /// The number of time units. Minimum value of `0`. + /// + public readonly int Value; + + [OutputConstructor] + private RouteSpecHttp2RouteTimeoutPerRequest( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/RouteSpecHttpRoute.cs b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttpRoute.cs index 8465768d782..45e4b7c1e28 100644 --- a/sdk/dotnet/AppMesh/Outputs/RouteSpecHttpRoute.cs +++ b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttpRoute.cs @@ -25,6 +25,10 @@ public sealed class RouteSpecHttpRoute /// The retry policy. /// public readonly Outputs.RouteSpecHttpRouteRetryPolicy? RetryPolicy; + /// + /// The types of timeouts. + /// + public readonly Outputs.RouteSpecHttpRouteTimeout? Timeout; [OutputConstructor] private RouteSpecHttpRoute( @@ -32,11 +36,14 @@ private RouteSpecHttpRoute( Outputs.RouteSpecHttpRouteMatch match, - Outputs.RouteSpecHttpRouteRetryPolicy? retryPolicy) + Outputs.RouteSpecHttpRouteRetryPolicy? retryPolicy, + + Outputs.RouteSpecHttpRouteTimeout? timeout) { Action = action; Match = match; RetryPolicy = retryPolicy; + Timeout = timeout; } } } diff --git a/sdk/dotnet/AppMesh/Outputs/RouteSpecHttpRouteTimeout.cs b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttpRouteTimeout.cs new file mode 100644 index 00000000000..c8680e56da3 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttpRouteTimeout.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 RouteSpecHttpRouteTimeout + { + /// + /// The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + /// + public readonly Outputs.RouteSpecHttpRouteTimeoutIdle? Idle; + /// + /// The per request timeout. + /// + public readonly Outputs.RouteSpecHttpRouteTimeoutPerRequest? PerRequest; + + [OutputConstructor] + private RouteSpecHttpRouteTimeout( + Outputs.RouteSpecHttpRouteTimeoutIdle? idle, + + Outputs.RouteSpecHttpRouteTimeoutPerRequest? perRequest) + { + Idle = idle; + PerRequest = perRequest; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/RouteSpecHttpRouteTimeoutIdle.cs b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttpRouteTimeoutIdle.cs new file mode 100644 index 00000000000..52ea9e059ca --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttpRouteTimeoutIdle.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 RouteSpecHttpRouteTimeoutIdle + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + public readonly string Unit; + /// + /// The number of time units. Minimum value of `0`. + /// + public readonly int Value; + + [OutputConstructor] + private RouteSpecHttpRouteTimeoutIdle( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/RouteSpecHttpRouteTimeoutPerRequest.cs b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttpRouteTimeoutPerRequest.cs new file mode 100644 index 00000000000..01719877ac1 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttpRouteTimeoutPerRequest.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 RouteSpecHttpRouteTimeoutPerRequest + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + public readonly string Unit; + /// + /// The number of time units. Minimum value of `0`. + /// + public readonly int Value; + + [OutputConstructor] + private RouteSpecHttpRouteTimeoutPerRequest( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/RouteSpecTcpRoute.cs b/sdk/dotnet/AppMesh/Outputs/RouteSpecTcpRoute.cs index 5a2954b3148..6f54735b4dd 100644 --- a/sdk/dotnet/AppMesh/Outputs/RouteSpecTcpRoute.cs +++ b/sdk/dotnet/AppMesh/Outputs/RouteSpecTcpRoute.cs @@ -17,11 +17,19 @@ public sealed class RouteSpecTcpRoute /// The action to take if a match is determined. /// public readonly Outputs.RouteSpecTcpRouteAction Action; + /// + /// The types of timeouts. + /// + public readonly Outputs.RouteSpecTcpRouteTimeout? Timeout; [OutputConstructor] - private RouteSpecTcpRoute(Outputs.RouteSpecTcpRouteAction action) + private RouteSpecTcpRoute( + Outputs.RouteSpecTcpRouteAction action, + + Outputs.RouteSpecTcpRouteTimeout? timeout) { Action = action; + Timeout = timeout; } } } diff --git a/sdk/dotnet/AppMesh/Outputs/RouteSpecTcpRouteTimeout.cs b/sdk/dotnet/AppMesh/Outputs/RouteSpecTcpRouteTimeout.cs new file mode 100644 index 00000000000..f4ab1145f75 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/RouteSpecTcpRouteTimeout.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 RouteSpecTcpRouteTimeout + { + /// + /// The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + /// + public readonly Outputs.RouteSpecTcpRouteTimeoutIdle? Idle; + + [OutputConstructor] + private RouteSpecTcpRouteTimeout(Outputs.RouteSpecTcpRouteTimeoutIdle? idle) + { + Idle = idle; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/RouteSpecTcpRouteTimeoutIdle.cs b/sdk/dotnet/AppMesh/Outputs/RouteSpecTcpRouteTimeoutIdle.cs new file mode 100644 index 00000000000..7d34e153f19 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/RouteSpecTcpRouteTimeoutIdle.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 RouteSpecTcpRouteTimeoutIdle + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + public readonly string Unit; + /// + /// The number of time units. Minimum value of `0`. + /// + public readonly int Value; + + [OutputConstructor] + private RouteSpecTcpRouteTimeoutIdle( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust.cs b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust.cs index b10a36e49db..97511205dc4 100644 --- a/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust.cs +++ b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust.cs @@ -14,7 +14,7 @@ namespace Pulumi.Aws.AppMesh.Outputs public sealed class VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust { /// - /// The TLS validation context trust for an AWS Certicate Manager (ACM) certificate. + /// The TLS validation context trust for an AWS Certificate Manager (ACM) certificate. /// public readonly Outputs.VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm? Acm; /// diff --git a/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust.cs b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust.cs index 345be45a3ca..f44a8cf67a3 100644 --- a/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust.cs +++ b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust.cs @@ -14,7 +14,7 @@ namespace Pulumi.Aws.AppMesh.Outputs public sealed class VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust { /// - /// The TLS validation context trust for an AWS Certicate Manager (ACM) certificate. + /// The TLS validation context trust for an AWS Certificate Manager (ACM) certificate. /// public readonly Outputs.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm? Acm; /// diff --git a/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListener.cs b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListener.cs index c85aadfe85b..7ce179ab686 100644 --- a/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListener.cs +++ b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListener.cs @@ -22,6 +22,10 @@ public sealed class VirtualNodeSpecListener /// public readonly Outputs.VirtualNodeSpecListenerPortMapping PortMapping; /// + /// Timeouts for different protocols. + /// + public readonly Outputs.VirtualNodeSpecListenerTimeout? Timeout; + /// /// The Transport Layer Security (TLS) properties for the listener /// public readonly Outputs.VirtualNodeSpecListenerTls? Tls; @@ -32,10 +36,13 @@ private VirtualNodeSpecListener( Outputs.VirtualNodeSpecListenerPortMapping portMapping, + Outputs.VirtualNodeSpecListenerTimeout? timeout, + Outputs.VirtualNodeSpecListenerTls? tls) { HealthCheck = healthCheck; PortMapping = portMapping; + Timeout = timeout; Tls = tls; } } diff --git a/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeout.cs b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeout.cs new file mode 100644 index 00000000000..14b35bb9630 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeout.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 VirtualNodeSpecListenerTimeout + { + /// + /// Timeouts for gRPC listeners. + /// + public readonly Outputs.VirtualNodeSpecListenerTimeoutGrpc? Grpc; + /// + /// Timeouts for HTTP listeners. + /// + public readonly Outputs.VirtualNodeSpecListenerTimeoutHttp? Http; + /// + /// Timeouts for HTTP2 listeners. + /// + public readonly Outputs.VirtualNodeSpecListenerTimeoutHttp2? Http2; + /// + /// Timeouts for TCP listeners. + /// + public readonly Outputs.VirtualNodeSpecListenerTimeoutTcp? Tcp; + + [OutputConstructor] + private VirtualNodeSpecListenerTimeout( + Outputs.VirtualNodeSpecListenerTimeoutGrpc? grpc, + + Outputs.VirtualNodeSpecListenerTimeoutHttp? http, + + Outputs.VirtualNodeSpecListenerTimeoutHttp2? http2, + + Outputs.VirtualNodeSpecListenerTimeoutTcp? tcp) + { + Grpc = grpc; + Http = http; + Http2 = http2; + Tcp = tcp; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutGrpc.cs b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutGrpc.cs new file mode 100644 index 00000000000..e1bd929d547 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutGrpc.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 VirtualNodeSpecListenerTimeoutGrpc + { + /// + /// The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + /// + public readonly Outputs.VirtualNodeSpecListenerTimeoutGrpcIdle? Idle; + /// + /// The per request timeout. + /// + public readonly Outputs.VirtualNodeSpecListenerTimeoutGrpcPerRequest? PerRequest; + + [OutputConstructor] + private VirtualNodeSpecListenerTimeoutGrpc( + Outputs.VirtualNodeSpecListenerTimeoutGrpcIdle? idle, + + Outputs.VirtualNodeSpecListenerTimeoutGrpcPerRequest? perRequest) + { + Idle = idle; + PerRequest = perRequest; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutGrpcIdle.cs b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutGrpcIdle.cs new file mode 100644 index 00000000000..7cad418ef15 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutGrpcIdle.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 VirtualNodeSpecListenerTimeoutGrpcIdle + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + public readonly string Unit; + /// + /// The number of time units. Minimum value of `0`. + /// + public readonly int Value; + + [OutputConstructor] + private VirtualNodeSpecListenerTimeoutGrpcIdle( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutGrpcPerRequest.cs b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutGrpcPerRequest.cs new file mode 100644 index 00000000000..fb2002a79f3 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutGrpcPerRequest.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 VirtualNodeSpecListenerTimeoutGrpcPerRequest + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + public readonly string Unit; + /// + /// The number of time units. Minimum value of `0`. + /// + public readonly int Value; + + [OutputConstructor] + private VirtualNodeSpecListenerTimeoutGrpcPerRequest( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutHttp.cs b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutHttp.cs new file mode 100644 index 00000000000..754bfd0857b --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutHttp.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 VirtualNodeSpecListenerTimeoutHttp + { + /// + /// The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + /// + public readonly Outputs.VirtualNodeSpecListenerTimeoutHttpIdle? Idle; + /// + /// The per request timeout. + /// + public readonly Outputs.VirtualNodeSpecListenerTimeoutHttpPerRequest? PerRequest; + + [OutputConstructor] + private VirtualNodeSpecListenerTimeoutHttp( + Outputs.VirtualNodeSpecListenerTimeoutHttpIdle? idle, + + Outputs.VirtualNodeSpecListenerTimeoutHttpPerRequest? perRequest) + { + Idle = idle; + PerRequest = perRequest; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutHttp2.cs b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutHttp2.cs new file mode 100644 index 00000000000..25e6fd40c55 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutHttp2.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 VirtualNodeSpecListenerTimeoutHttp2 + { + /// + /// The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + /// + public readonly Outputs.VirtualNodeSpecListenerTimeoutHttp2Idle? Idle; + /// + /// The per request timeout. + /// + public readonly Outputs.VirtualNodeSpecListenerTimeoutHttp2PerRequest? PerRequest; + + [OutputConstructor] + private VirtualNodeSpecListenerTimeoutHttp2( + Outputs.VirtualNodeSpecListenerTimeoutHttp2Idle? idle, + + Outputs.VirtualNodeSpecListenerTimeoutHttp2PerRequest? perRequest) + { + Idle = idle; + PerRequest = perRequest; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutHttp2Idle.cs b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutHttp2Idle.cs new file mode 100644 index 00000000000..a099e216ba3 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutHttp2Idle.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 VirtualNodeSpecListenerTimeoutHttp2Idle + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + public readonly string Unit; + /// + /// The number of time units. Minimum value of `0`. + /// + public readonly int Value; + + [OutputConstructor] + private VirtualNodeSpecListenerTimeoutHttp2Idle( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutHttp2PerRequest.cs b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutHttp2PerRequest.cs new file mode 100644 index 00000000000..ea2ec4643e6 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutHttp2PerRequest.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 VirtualNodeSpecListenerTimeoutHttp2PerRequest + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + public readonly string Unit; + /// + /// The number of time units. Minimum value of `0`. + /// + public readonly int Value; + + [OutputConstructor] + private VirtualNodeSpecListenerTimeoutHttp2PerRequest( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutHttpIdle.cs b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutHttpIdle.cs new file mode 100644 index 00000000000..b5ee68f7b28 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutHttpIdle.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 VirtualNodeSpecListenerTimeoutHttpIdle + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + public readonly string Unit; + /// + /// The number of time units. Minimum value of `0`. + /// + public readonly int Value; + + [OutputConstructor] + private VirtualNodeSpecListenerTimeoutHttpIdle( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutHttpPerRequest.cs b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutHttpPerRequest.cs new file mode 100644 index 00000000000..d25f5d4c68b --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutHttpPerRequest.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 VirtualNodeSpecListenerTimeoutHttpPerRequest + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + public readonly string Unit; + /// + /// The number of time units. Minimum value of `0`. + /// + public readonly int Value; + + [OutputConstructor] + private VirtualNodeSpecListenerTimeoutHttpPerRequest( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutTcp.cs b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutTcp.cs new file mode 100644 index 00000000000..00f75135c7c --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutTcp.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 VirtualNodeSpecListenerTimeoutTcp + { + /// + /// The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + /// + public readonly Outputs.VirtualNodeSpecListenerTimeoutTcpIdle? Idle; + + [OutputConstructor] + private VirtualNodeSpecListenerTimeoutTcp(Outputs.VirtualNodeSpecListenerTimeoutTcpIdle? idle) + { + Idle = idle; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutTcpIdle.cs b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutTcpIdle.cs new file mode 100644 index 00000000000..9585ff7bc8b --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTimeoutTcpIdle.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 VirtualNodeSpecListenerTimeoutTcpIdle + { + /// + /// The unit of time. Valid values: `ms`, `s`. + /// + public readonly string Unit; + /// + /// The number of time units. Minimum value of `0`. + /// + public readonly int Value; + + [OutputConstructor] + private VirtualNodeSpecListenerTimeoutTcpIdle( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTlsCertificate.cs b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTlsCertificate.cs index ea59140768f..e2116de220e 100644 --- a/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTlsCertificate.cs +++ b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecListenerTlsCertificate.cs @@ -14,7 +14,7 @@ namespace Pulumi.Aws.AppMesh.Outputs public sealed class VirtualNodeSpecListenerTlsCertificate { /// - /// An AWS Certicate Manager (ACM) certificate. + /// An AWS Certificate Manager (ACM) certificate. /// public readonly Outputs.VirtualNodeSpecListenerTlsCertificateAcm? Acm; /// diff --git a/sdk/dotnet/ApplicationLoadBalancing/Inputs/TargetGroupStickinessArgs.cs b/sdk/dotnet/ApplicationLoadBalancing/Inputs/TargetGroupStickinessArgs.cs index cb86bb3a6ab..de97786b6e9 100644 --- a/sdk/dotnet/ApplicationLoadBalancing/Inputs/TargetGroupStickinessArgs.cs +++ b/sdk/dotnet/ApplicationLoadBalancing/Inputs/TargetGroupStickinessArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.ApplicationLoadBalancing.Inputs public sealed class TargetGroupStickinessArgs : Pulumi.ResourceArgs { /// - /// The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + /// Only used when the type is `lb_cookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). /// [Input("cookieDuration")] public Input? CookieDuration { get; set; } @@ -25,7 +25,7 @@ public sealed class TargetGroupStickinessArgs : Pulumi.ResourceArgs public Input? Enabled { get; set; } /// - /// The type of sticky sessions. The only current possible value is `lb_cookie`. + /// The type of sticky sessions. The only current possible values are `lb_cookie` for ALBs and `source_ip` for NLBs. /// [Input("type", required: true)] public Input Type { get; set; } = null!; diff --git a/sdk/dotnet/ApplicationLoadBalancing/Inputs/TargetGroupStickinessGetArgs.cs b/sdk/dotnet/ApplicationLoadBalancing/Inputs/TargetGroupStickinessGetArgs.cs index b9c8b90b960..05da9b2f509 100644 --- a/sdk/dotnet/ApplicationLoadBalancing/Inputs/TargetGroupStickinessGetArgs.cs +++ b/sdk/dotnet/ApplicationLoadBalancing/Inputs/TargetGroupStickinessGetArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.ApplicationLoadBalancing.Inputs public sealed class TargetGroupStickinessGetArgs : Pulumi.ResourceArgs { /// - /// The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + /// Only used when the type is `lb_cookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). /// [Input("cookieDuration")] public Input? CookieDuration { get; set; } @@ -25,7 +25,7 @@ public sealed class TargetGroupStickinessGetArgs : Pulumi.ResourceArgs public Input? Enabled { get; set; } /// - /// The type of sticky sessions. The only current possible value is `lb_cookie`. + /// The type of sticky sessions. The only current possible values are `lb_cookie` for ALBs and `source_ip` for NLBs. /// [Input("type", required: true)] public Input Type { get; set; } = null!; diff --git a/sdk/dotnet/ApplicationLoadBalancing/LoadBalancer.cs b/sdk/dotnet/ApplicationLoadBalancing/LoadBalancer.cs index 6770ea6de5f..80c489c624a 100644 --- a/sdk/dotnet/ApplicationLoadBalancing/LoadBalancer.cs +++ b/sdk/dotnet/ApplicationLoadBalancing/LoadBalancer.cs @@ -34,10 +34,7 @@ namespace Pulumi.Aws.ApplicationLoadBalancing /// { /// aws_security_group.Lb_sg.Id, /// }, - /// Subnets = - /// { - /// aws_subnet.Public.Select(__item => __item.Id).ToList(), - /// }, + /// Subnets = aws_subnet.Public.Select(__item => __item.Id).ToList(), /// EnableDeletionProtection = true, /// AccessLogs = new Aws.LB.Inputs.LoadBalancerAccessLogsArgs /// { @@ -69,10 +66,7 @@ namespace Pulumi.Aws.ApplicationLoadBalancing /// { /// Internal = false, /// LoadBalancerType = "network", - /// Subnets = - /// { - /// aws_subnet.Public.Select(__item => __item.Id).ToList(), - /// }, + /// Subnets = aws_subnet.Public.Select(__item => __item.Id).ToList(), /// EnableDeletionProtection = true, /// Tags = /// { diff --git a/sdk/dotnet/ApplicationLoadBalancing/Outputs/TargetGroupStickiness.cs b/sdk/dotnet/ApplicationLoadBalancing/Outputs/TargetGroupStickiness.cs index 7b138180410..c2d68e7f367 100644 --- a/sdk/dotnet/ApplicationLoadBalancing/Outputs/TargetGroupStickiness.cs +++ b/sdk/dotnet/ApplicationLoadBalancing/Outputs/TargetGroupStickiness.cs @@ -14,7 +14,7 @@ namespace Pulumi.Aws.ApplicationLoadBalancing.Outputs public sealed class TargetGroupStickiness { /// - /// The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + /// Only used when the type is `lb_cookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). /// public readonly int? CookieDuration; /// @@ -22,7 +22,7 @@ public sealed class TargetGroupStickiness /// public readonly bool? Enabled; /// - /// The type of sticky sessions. The only current possible value is `lb_cookie`. + /// The type of sticky sessions. The only current possible values are `lb_cookie` for ALBs and `source_ip` for NLBs. /// public readonly string Type; diff --git a/sdk/dotnet/ApplicationLoadBalancing/TargetGroup.cs b/sdk/dotnet/ApplicationLoadBalancing/TargetGroup.cs index b8ca4f84952..058934b6816 100644 --- a/sdk/dotnet/ApplicationLoadBalancing/TargetGroup.cs +++ b/sdk/dotnet/ApplicationLoadBalancing/TargetGroup.cs @@ -159,7 +159,7 @@ public partial class TargetGroup : Pulumi.CustomResource public Output SlowStart { get; private set; } = null!; /// - /// A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + /// A Stickiness block. Stickiness blocks are documented below. /// [Output("stickiness")] public Output Stickiness { get; private set; } = null!; @@ -294,7 +294,7 @@ public sealed class TargetGroupArgs : Pulumi.ResourceArgs public Input? SlowStart { get; set; } /// - /// A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + /// A Stickiness block. Stickiness blocks are documented below. /// [Input("stickiness")] public Input? Stickiness { get; set; } @@ -408,7 +408,7 @@ public sealed class TargetGroupState : Pulumi.ResourceArgs public Input? SlowStart { get; set; } /// - /// A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + /// A Stickiness block. Stickiness blocks are documented below. /// [Input("stickiness")] public Input? Stickiness { get; set; } diff --git a/sdk/dotnet/AutoScaling/Attachment.cs b/sdk/dotnet/AutoScaling/Attachment.cs index 6e577d4e3ef..8af4868113a 100644 --- a/sdk/dotnet/AutoScaling/Attachment.cs +++ b/sdk/dotnet/AutoScaling/Attachment.cs @@ -10,15 +10,15 @@ namespace Pulumi.Aws.AutoScaling { /// - /// Provides an AutoScaling Attachment resource. + /// Provides an Auto Scaling Attachment resource. /// - /// > **NOTE on AutoScaling Groups and ASG Attachments:** This provider currently provides - /// both a standalone ASG Attachment resource (describing an ASG attached to - /// an ELB or ALB), and an AutoScaling Group resource with - /// `load_balancers` and `target_group_arns` defined in-line. At this time you can use an ASG with in-line - /// `load balancers` or `target_group_arns` in conjunction with an ASG Attachment resource, however, to prevent - /// unintended resource updates, the `aws.autoscaling.Group` resource must be configured - /// to ignore changes to the `load_balancers` and `target_group_arns` arguments within a [`lifecycle` configuration block](https://www.terraform.io/docs/configuration/resources.html#lifecycle-lifecycle-customizations). + /// > **NOTE on Auto Scaling Groups and ASG Attachments:** This provider currently provides + /// both a standalone `aws.autoscaling.Attachment` resource + /// (describing an ASG attached to an ELB or ALB), and an `aws.autoscaling.Group` + /// with `load_balancers` and `target_group_arns` defined in-line. These two methods are not + /// mutually-exclusive. If `aws.autoscaling.Attachment` resources are used, either alone or with inline + /// `load_balancers` or `target_group_arns`, the `aws.autoscaling.Group` resource must be configured + /// to [ignore changes](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) to the `load_balancers` and `target_group_arns` arguments. /// /// ## Example Usage /// diff --git a/sdk/dotnet/AutoScaling/GetGroup.cs b/sdk/dotnet/AutoScaling/GetGroup.cs index 8201eb053dc..dfc92aaeba8 100644 --- a/sdk/dotnet/AutoScaling/GetGroup.cs +++ b/sdk/dotnet/AutoScaling/GetGroup.cs @@ -101,7 +101,7 @@ public sealed class GetGroupResult /// public readonly int MinSize; /// - /// The name of the Auto Scaling group. + /// Name of the Auto Scaling Group. /// public readonly string Name; public readonly bool NewInstancesProtectedFromScaleIn; diff --git a/sdk/dotnet/AutoScaling/Group.cs b/sdk/dotnet/AutoScaling/Group.cs index a98a48c891a..44bfdefd72f 100644 --- a/sdk/dotnet/AutoScaling/Group.cs +++ b/sdk/dotnet/AutoScaling/Group.cs @@ -9,162 +9,6 @@ namespace Pulumi.Aws.AutoScaling { - /// - /// Provides an AutoScaling Group resource. - /// - /// > **Note:** You must specify either `launch_configuration`, `launch_template`, or `mixed_instances_policy`. - /// - /// ## Example Usage - /// ### With Latest Version Of Launch Template - /// - /// ```csharp - /// using Pulumi; - /// using Aws = Pulumi.Aws; - /// - /// class MyStack : Stack - /// { - /// public MyStack() - /// { - /// var foobar = new Aws.Ec2.LaunchTemplate("foobar", new Aws.Ec2.LaunchTemplateArgs - /// { - /// NamePrefix = "foobar", - /// ImageId = "ami-1a2b3c", - /// InstanceType = "t2.micro", - /// }); - /// var bar = new Aws.AutoScaling.Group("bar", new Aws.AutoScaling.GroupArgs - /// { - /// AvailabilityZones = - /// { - /// "us-east-1a", - /// }, - /// DesiredCapacity = 1, - /// MaxSize = 1, - /// MinSize = 1, - /// LaunchTemplate = new Aws.AutoScaling.Inputs.GroupLaunchTemplateArgs - /// { - /// Id = foobar.Id, - /// Version = "$Latest", - /// }, - /// }); - /// } - /// - /// } - /// ``` - /// ### Mixed Instances Policy - /// - /// ```csharp - /// using Pulumi; - /// using Aws = Pulumi.Aws; - /// - /// class MyStack : Stack - /// { - /// public MyStack() - /// { - /// var exampleLaunchTemplate = new Aws.Ec2.LaunchTemplate("exampleLaunchTemplate", new Aws.Ec2.LaunchTemplateArgs - /// { - /// NamePrefix = "example", - /// ImageId = data.Aws_ami.Example.Id, - /// InstanceType = "c5.large", - /// }); - /// var exampleGroup = new Aws.AutoScaling.Group("exampleGroup", new Aws.AutoScaling.GroupArgs - /// { - /// AvailabilityZones = - /// { - /// "us-east-1a", - /// }, - /// DesiredCapacity = 1, - /// MaxSize = 1, - /// MinSize = 1, - /// MixedInstancesPolicy = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyArgs - /// { - /// LaunchTemplate = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateArgs - /// { - /// LaunchTemplateSpecification = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs - /// { - /// LaunchTemplateId = exampleLaunchTemplate.Id, - /// }, - /// Overrides = - /// { - /// new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs - /// { - /// InstanceType = "c4.large", - /// WeightedCapacity = "3", - /// }, - /// new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs - /// { - /// InstanceType = "c3.large", - /// WeightedCapacity = "2", - /// }, - /// }, - /// }, - /// }, - /// }); - /// } - /// - /// } - /// ``` - /// ## Waiting for Capacity - /// - /// A newly-created ASG is initially empty and begins to scale to `min_size` (or - /// `desired_capacity`, if specified) by launching instances using the provided - /// Launch Configuration. These instances take time to launch and boot. - /// - /// On ASG Update, changes to these values also take time to result in the target - /// number of instances providing service. - /// - /// This provider provides two mechanisms to help consistently manage ASG scale up - /// time across dependent resources. - /// - /// #### Waiting for ASG Capacity - /// - /// The first is default behavior. This provider waits after ASG creation for - /// `min_size` (or `desired_capacity`, if specified) healthy instances to show up - /// in the ASG before continuing. - /// - /// If `min_size` or `desired_capacity` are changed in a subsequent update, - /// this provider will also wait for the correct number of healthy instances before - /// continuing. - /// - /// This provider considers an instance "healthy" when the ASG reports `HealthStatus: - /// "Healthy"` and `LifecycleState: "InService"`. See the [AWS AutoScaling - /// Docs](https://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingGroupLifecycle.html) - /// for more information on an ASG's lifecycle. - /// - /// This provider will wait for healthy instances for up to - /// `wait_for_capacity_timeout`. If ASG creation is taking more than a few minutes, - /// it's worth investigating for scaling activity errors, which can be caused by - /// problems with the selected Launch Configuration. - /// - /// Setting `wait_for_capacity_timeout` to `"0"` disables ASG Capacity waiting. - /// - /// #### Waiting for ELB Capacity - /// - /// The second mechanism is optional, and affects ASGs with attached ELBs specified - /// via the `load_balancers` attribute or with ALBs specified with `target_group_arns`. - /// - /// The `min_elb_capacity` parameter causes this provider to wait for at least the - /// requested number of instances to show up `"InService"` in all attached ELBs - /// during ASG creation. It has no effect on ASG updates. - /// - /// If `wait_for_elb_capacity` is set, this provider will wait for exactly that number - /// of Instances to be `"InService"` in all attached ELBs on both creation and - /// updates. - /// - /// These parameters can be used to ensure that service is being provided before - /// this provider moves on. If new instances don't pass the ELB's health checks for any - /// reason, the deployment will time out, and the ASG will be marked as - /// tainted (i.e. marked to be destroyed in a follow up run). - /// - /// As with ASG Capacity, this provider will wait for up to `wait_for_capacity_timeout` - /// for the proper number of instances to be healthy. - /// - /// #### Troubleshooting Capacity Waiting Timeouts - /// - /// If ASG creation takes more than a few minutes, this could indicate one of a - /// number of configuration problems. See the [AWS Docs on Load Balancer - /// Troubleshooting](https://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elb-troubleshooting.html) - /// for more information. - /// public partial class Group : Pulumi.CustomResource { /// diff --git a/sdk/dotnet/Batch/ComputeEnvironment.cs b/sdk/dotnet/Batch/ComputeEnvironment.cs index 5bd7d45dd2a..78a1abbcd18 100644 --- a/sdk/dotnet/Batch/ComputeEnvironment.cs +++ b/sdk/dotnet/Batch/ComputeEnvironment.cs @@ -192,6 +192,12 @@ public partial class ComputeEnvironment : Pulumi.CustomResource [Output("statusReason")] public Output StatusReason { get; private set; } = null!; + /// + /// Key-value pair tags to be applied to resources that are launched in the compute environment. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + /// /// The type of compute environment. Valid items are `EC2` or `SPOT`. /// @@ -274,6 +280,18 @@ public sealed class ComputeEnvironmentArgs : Pulumi.ResourceArgs [Input("state")] public Input? State { get; set; } + [Input("tags")] + private InputMap? _tags; + + /// + /// Key-value pair tags to be applied to resources that are launched in the compute environment. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + /// /// The type of compute environment. Valid items are `EC2` or `SPOT`. /// @@ -341,6 +359,18 @@ public sealed class ComputeEnvironmentState : Pulumi.ResourceArgs [Input("statusReason")] public Input? StatusReason { get; set; } + [Input("tags")] + private InputMap? _tags; + + /// + /// Key-value pair tags to be applied to resources that are launched in the compute environment. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + /// /// The type of compute environment. Valid items are `EC2` or `SPOT`. /// diff --git a/sdk/dotnet/Batch/GetComputeEnvironment.cs b/sdk/dotnet/Batch/GetComputeEnvironment.cs index 800b65314e9..ea9d9594af0 100644 --- a/sdk/dotnet/Batch/GetComputeEnvironment.cs +++ b/sdk/dotnet/Batch/GetComputeEnvironment.cs @@ -51,6 +51,18 @@ public sealed class GetComputeEnvironmentArgs : Pulumi.InvokeArgs [Input("computeEnvironmentName", required: true)] public string ComputeEnvironmentName { get; set; } = null!; + [Input("tags")] + private Dictionary? _tags; + + /// + /// Key-value map of resource tags + /// + public Dictionary Tags + { + get => _tags ?? (_tags = new Dictionary()); + set => _tags = value; + } + public GetComputeEnvironmentArgs() { } @@ -90,6 +102,10 @@ public sealed class GetComputeEnvironmentResult /// public readonly string StatusReason; /// + /// Key-value map of resource tags + /// + public readonly ImmutableDictionary Tags; + /// /// The type of the compute environment (for example, `MANAGED` or `UNMANAGED`). /// public readonly string Type; @@ -112,6 +128,8 @@ private GetComputeEnvironmentResult( string statusReason, + ImmutableDictionary tags, + string type) { Arn = arn; @@ -122,6 +140,7 @@ private GetComputeEnvironmentResult( State = state; Status = status; StatusReason = statusReason; + Tags = tags; Type = type; } } diff --git a/sdk/dotnet/Batch/GetJobQueue.cs b/sdk/dotnet/Batch/GetJobQueue.cs index 638eb0f22e4..edcb91d1bda 100644 --- a/sdk/dotnet/Batch/GetJobQueue.cs +++ b/sdk/dotnet/Batch/GetJobQueue.cs @@ -51,6 +51,18 @@ public sealed class GetJobQueueArgs : Pulumi.InvokeArgs [Input("name", required: true)] public string Name { get; set; } = null!; + [Input("tags")] + private Dictionary? _tags; + + /// + /// Key-value map of resource tags + /// + public Dictionary Tags + { + get => _tags ?? (_tags = new Dictionary()); + set => _tags = value; + } + public GetJobQueueArgs() { } @@ -94,6 +106,10 @@ public sealed class GetJobQueueResult /// of the job queue. /// public readonly string StatusReason; + /// + /// Key-value map of resource tags + /// + public readonly ImmutableDictionary Tags; [OutputConstructor] private GetJobQueueResult( @@ -111,7 +127,9 @@ private GetJobQueueResult( string status, - string statusReason) + string statusReason, + + ImmutableDictionary tags) { Arn = arn; ComputeEnvironmentOrders = computeEnvironmentOrders; @@ -121,6 +139,7 @@ private GetJobQueueResult( State = state; Status = status; StatusReason = statusReason; + Tags = tags; } } } diff --git a/sdk/dotnet/Batch/JobDefinition.cs b/sdk/dotnet/Batch/JobDefinition.cs index 02819a6d52f..21d0d790867 100644 --- a/sdk/dotnet/Batch/JobDefinition.cs +++ b/sdk/dotnet/Batch/JobDefinition.cs @@ -104,6 +104,12 @@ public partial class JobDefinition : Pulumi.CustomResource [Output("revision")] public Output Revision { get; private set; } = null!; + /// + /// Key-value map of resource tags + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + /// /// Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. /// @@ -194,6 +200,18 @@ public InputMap Parameters [Input("retryStrategy")] public Input? RetryStrategy { get; set; } + [Input("tags")] + private InputMap? _tags; + + /// + /// Key-value map of resource tags + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + /// /// Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. /// @@ -257,6 +275,18 @@ public InputMap Parameters [Input("revision")] public Input? Revision { get; set; } + [Input("tags")] + private InputMap? _tags; + + /// + /// Key-value map of resource tags + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + /// /// Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. /// diff --git a/sdk/dotnet/Batch/JobQueue.cs b/sdk/dotnet/Batch/JobQueue.cs index f2ec07d6131..97e1e501a81 100644 --- a/sdk/dotnet/Batch/JobQueue.cs +++ b/sdk/dotnet/Batch/JobQueue.cs @@ -73,6 +73,12 @@ public partial class JobQueue : Pulumi.CustomResource [Output("state")] public Output State { get; private set; } = null!; + /// + /// Key-value map of resource tags + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + /// /// Create a JobQueue resource with the given unique name, arguments, and options. @@ -153,6 +159,18 @@ public InputList ComputeEnvironments [Input("state", required: true)] public Input State { get; set; } = null!; + [Input("tags")] + private InputMap? _tags; + + /// + /// Key-value map of resource tags + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + public JobQueueArgs() { } @@ -200,6 +218,18 @@ public InputList ComputeEnvironments [Input("state")] public Input? State { get; set; } + [Input("tags")] + private InputMap? _tags; + + /// + /// Key-value map of resource tags + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + public JobQueueState() { } diff --git a/sdk/dotnet/CloudFront/Distribution.cs b/sdk/dotnet/CloudFront/Distribution.cs index fc4603ff029..3dde45019e6 100644 --- a/sdk/dotnet/CloudFront/Distribution.cs +++ b/sdk/dotnet/CloudFront/Distribution.cs @@ -465,11 +465,13 @@ public partial class Distribution : Pulumi.CustomResource public Output WaitForDeployment { get; private set; } = null!; /// - /// If you're using AWS WAF to filter CloudFront - /// requests, the Id of the AWS WAF web ACL that is associated with the - /// distribution. The WAF Web ACL must exist in the WAF Global (CloudFront) - /// region and the credentials configuring this argument must have - /// `waf:GetWebACL` permissions assigned. If using WAFv2, provide the ARN of the web ACL. + /// A unique identifier that specifies the AWS WAF web ACL, + /// if any, to associate with this distribution. + /// To specify a web ACL created using the latest version of AWS WAF (WAFv2), use the ACL ARN, + /// for example `aws_wafv2_web_acl.example.arn`. To specify a web + /// ACL created using AWS WAF Classic, use the ACL ID, for example `aws_waf_web_acl.example.id`. + /// The WAF Web ACL must exist in the WAF Global (CloudFront) region and the + /// credentials configuring this argument must have `waf:GetWebACL` permissions assigned. /// [Output("webAclId")] public Output WebAclId { get; private set; } = null!; @@ -686,11 +688,13 @@ public InputMap Tags public Input? WaitForDeployment { get; set; } /// - /// If you're using AWS WAF to filter CloudFront - /// requests, the Id of the AWS WAF web ACL that is associated with the - /// distribution. The WAF Web ACL must exist in the WAF Global (CloudFront) - /// region and the credentials configuring this argument must have - /// `waf:GetWebACL` permissions assigned. If using WAFv2, provide the ARN of the web ACL. + /// A unique identifier that specifies the AWS WAF web ACL, + /// if any, to associate with this distribution. + /// To specify a web ACL created using the latest version of AWS WAF (WAFv2), use the ACL ARN, + /// for example `aws_wafv2_web_acl.example.arn`. To specify a web + /// ACL created using AWS WAF Classic, use the ACL ID, for example `aws_waf_web_acl.example.id`. + /// The WAF Web ACL must exist in the WAF Global (CloudFront) region and the + /// credentials configuring this argument must have `waf:GetWebACL` permissions assigned. /// [Input("webAclId")] public Input? WebAclId { get; set; } @@ -937,11 +941,13 @@ public InputList TrustedSigners public Input? WaitForDeployment { get; set; } /// - /// If you're using AWS WAF to filter CloudFront - /// requests, the Id of the AWS WAF web ACL that is associated with the - /// distribution. The WAF Web ACL must exist in the WAF Global (CloudFront) - /// region and the credentials configuring this argument must have - /// `waf:GetWebACL` permissions assigned. If using WAFv2, provide the ARN of the web ACL. + /// A unique identifier that specifies the AWS WAF web ACL, + /// if any, to associate with this distribution. + /// To specify a web ACL created using the latest version of AWS WAF (WAFv2), use the ACL ARN, + /// for example `aws_wafv2_web_acl.example.arn`. To specify a web + /// ACL created using AWS WAF Classic, use the ACL ID, for example `aws_waf_web_acl.example.id`. + /// The WAF Web ACL must exist in the WAF Global (CloudFront) region and the + /// credentials configuring this argument must have `waf:GetWebACL` permissions assigned. /// [Input("webAclId")] public Input? WebAclId { get; set; } diff --git a/sdk/dotnet/CodeArtifact/GetAuthorizationToken.cs b/sdk/dotnet/CodeArtifact/GetAuthorizationToken.cs new file mode 100644 index 00000000000..a77a96682fd --- /dev/null +++ b/sdk/dotnet/CodeArtifact/GetAuthorizationToken.cs @@ -0,0 +1,112 @@ +// *** 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.CodeArtifact +{ + public static class GetAuthorizationToken + { + /// + /// The CodeArtifact Authorization Token data source generates a temporary authentication token for accessing repositories in a CodeArtifact domain. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// class MyStack : Stack + /// { + /// public MyStack() + /// { + /// var test = Output.Create(Aws.CodeArtifact.GetAuthorizationToken.InvokeAsync(new Aws.CodeArtifact.GetAuthorizationTokenArgs + /// { + /// Domain = aws_codeartifact_domain.Test.Domain, + /// })); + /// } + /// + /// } + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetAuthorizationTokenArgs args, InvokeOptions? options = null) + => Pulumi.Deployment.Instance.InvokeAsync("aws:codeartifact/getAuthorizationToken:getAuthorizationToken", args ?? new GetAuthorizationTokenArgs(), options.WithVersion()); + } + + + public sealed class GetAuthorizationTokenArgs : Pulumi.InvokeArgs + { + /// + /// The name of the domain that is in scope for the generated authorization token. + /// + [Input("domain", required: true)] + public string Domain { get; set; } = null!; + + /// + /// The account number of the AWS account that owns the domain. + /// + [Input("domainOwner")] + public string? DomainOwner { get; set; } + + /// + /// The time, in seconds, that the generated authorization token is valid. Valid values are `0` and between `900` and `43200`. + /// + [Input("durationSeconds")] + public int? DurationSeconds { get; set; } + + public GetAuthorizationTokenArgs() + { + } + } + + + [OutputType] + public sealed class GetAuthorizationTokenResult + { + /// + /// Temporary authorization token. + /// + public readonly string AuthorizationToken; + public readonly string Domain; + public readonly string DomainOwner; + public readonly int? DurationSeconds; + /// + /// The time in UTC RFC3339 format when the authorization token expires. + /// + public readonly string Expiration; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + + [OutputConstructor] + private GetAuthorizationTokenResult( + string authorizationToken, + + string domain, + + string domainOwner, + + int? durationSeconds, + + string expiration, + + string id) + { + AuthorizationToken = authorizationToken; + Domain = domain; + DomainOwner = domainOwner; + DurationSeconds = durationSeconds; + Expiration = expiration; + Id = id; + } + } +} diff --git a/sdk/dotnet/CodeArtifact/RepositoryPermissionsPolicy.cs b/sdk/dotnet/CodeArtifact/RepositoryPermissionsPolicy.cs new file mode 100644 index 00000000000..91f35d6fe3c --- /dev/null +++ b/sdk/dotnet/CodeArtifact/RepositoryPermissionsPolicy.cs @@ -0,0 +1,176 @@ +// *** 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.CodeArtifact +{ + /// + /// Provides a CodeArtifact Repostory Permissions Policy Resource. + /// + public partial class RepositoryPermissionsPolicy : Pulumi.CustomResource + { + /// + /// The name of the domain on which to set the resource policy. + /// + [Output("domain")] + public Output Domain { get; private set; } = null!; + + /// + /// The account number of the AWS account that owns the domain. + /// + [Output("domainOwner")] + public Output DomainOwner { get; private set; } = null!; + + /// + /// A JSON policy string to be set as the access control resource policy on the provided domain. + /// + [Output("policyDocument")] + public Output PolicyDocument { get; private set; } = null!; + + /// + /// The current revision of the resource policy to be set. This revision is used for optimistic locking, which prevents others from overwriting your changes to the domain's resource policy. + /// + [Output("policyRevision")] + public Output PolicyRevision { get; private set; } = null!; + + /// + /// The name of the repository to set the resource policy on. + /// + [Output("repository")] + public Output Repository { get; private set; } = null!; + + /// + /// The ARN of the resource associated with the resource policy. + /// + [Output("resourceArn")] + public Output ResourceArn { get; private set; } = null!; + + + /// + /// Create a RepositoryPermissionsPolicy 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 RepositoryPermissionsPolicy(string name, RepositoryPermissionsPolicyArgs args, CustomResourceOptions? options = null) + : base("aws:codeartifact/repositoryPermissionsPolicy:RepositoryPermissionsPolicy", name, args ?? new RepositoryPermissionsPolicyArgs(), MakeResourceOptions(options, "")) + { + } + + private RepositoryPermissionsPolicy(string name, Input id, RepositoryPermissionsPolicyState? state = null, CustomResourceOptions? options = null) + : base("aws:codeartifact/repositoryPermissionsPolicy:RepositoryPermissionsPolicy", 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 RepositoryPermissionsPolicy 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 RepositoryPermissionsPolicy Get(string name, Input id, RepositoryPermissionsPolicyState? state = null, CustomResourceOptions? options = null) + { + return new RepositoryPermissionsPolicy(name, id, state, options); + } + } + + public sealed class RepositoryPermissionsPolicyArgs : Pulumi.ResourceArgs + { + /// + /// The name of the domain on which to set the resource policy. + /// + [Input("domain", required: true)] + public Input Domain { get; set; } = null!; + + /// + /// The account number of the AWS account that owns the domain. + /// + [Input("domainOwner")] + public Input? DomainOwner { get; set; } + + /// + /// A JSON policy string to be set as the access control resource policy on the provided domain. + /// + [Input("policyDocument", required: true)] + public Input PolicyDocument { get; set; } = null!; + + /// + /// The current revision of the resource policy to be set. This revision is used for optimistic locking, which prevents others from overwriting your changes to the domain's resource policy. + /// + [Input("policyRevision")] + public Input? PolicyRevision { get; set; } + + /// + /// The name of the repository to set the resource policy on. + /// + [Input("repository", required: true)] + public Input Repository { get; set; } = null!; + + public RepositoryPermissionsPolicyArgs() + { + } + } + + public sealed class RepositoryPermissionsPolicyState : Pulumi.ResourceArgs + { + /// + /// The name of the domain on which to set the resource policy. + /// + [Input("domain")] + public Input? Domain { get; set; } + + /// + /// The account number of the AWS account that owns the domain. + /// + [Input("domainOwner")] + public Input? DomainOwner { get; set; } + + /// + /// A JSON policy string to be set as the access control resource policy on the provided domain. + /// + [Input("policyDocument")] + public Input? PolicyDocument { get; set; } + + /// + /// The current revision of the resource policy to be set. This revision is used for optimistic locking, which prevents others from overwriting your changes to the domain's resource policy. + /// + [Input("policyRevision")] + public Input? PolicyRevision { get; set; } + + /// + /// The name of the repository to set the resource policy on. + /// + [Input("repository")] + public Input? Repository { get; set; } + + /// + /// The ARN of the resource associated with the resource policy. + /// + [Input("resourceArn")] + public Input? ResourceArn { get; set; } + + public RepositoryPermissionsPolicyState() + { + } + } +} diff --git a/sdk/dotnet/Config/Config.cs b/sdk/dotnet/Config/Config.cs index 7e9f5b72e91..f87b2827add 100644 --- a/sdk/dotnet/Config/Config.cs +++ b/sdk/dotnet/Config/Config.cs @@ -243,6 +243,7 @@ public class Endpoints public string? Sts { get; set; } = null!; public string? Swf { get; set; } = null!; public string? Synthetics { get; set; } = null!; + public string? Timestreamwrite { get; set; } = null!; public string? Transfer { get; set; } = null!; public string? Waf { get; set; } = null!; public string? Wafregional { get; set; } = null!; diff --git a/sdk/dotnet/DocDB/ClusterInstance.cs b/sdk/dotnet/DocDB/ClusterInstance.cs index fce30e3e056..767e22f9a94 100644 --- a/sdk/dotnet/DocDB/ClusterInstance.cs +++ b/sdk/dotnet/DocDB/ClusterInstance.cs @@ -128,13 +128,13 @@ public partial class ClusterInstance : Pulumi.CustomResource public Output EngineVersion { get; private set; } = null!; /// - /// The indentifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier. + /// The identifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier. /// [Output("identifier")] public Output Identifier { get; private set; } = null!; /// - /// Creates a unique identifier beginning with the specified prefix. Conflicts with `identifer`. + /// Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. /// [Output("identifierPrefix")] public Output IdentifierPrefix { get; private set; } = null!; @@ -288,13 +288,13 @@ public sealed class ClusterInstanceArgs : Pulumi.ResourceArgs public Input? Engine { get; set; } /// - /// The indentifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier. + /// The identifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier. /// [Input("identifier")] public Input? Identifier { get; set; } /// - /// Creates a unique identifier beginning with the specified prefix. Conflicts with `identifer`. + /// Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. /// [Input("identifierPrefix")] public Input? IdentifierPrefix { get; set; } @@ -412,13 +412,13 @@ public sealed class ClusterInstanceState : Pulumi.ResourceArgs public Input? EngineVersion { get; set; } /// - /// The indentifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier. + /// The identifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier. /// [Input("identifier")] public Input? Identifier { get; set; } /// - /// Creates a unique identifier beginning with the specified prefix. Conflicts with `identifer`. + /// Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. /// [Input("identifierPrefix")] public Input? IdentifierPrefix { get; set; } diff --git a/sdk/dotnet/Ec2/GetInstanceType.cs b/sdk/dotnet/Ec2/GetInstanceType.cs new file mode 100644 index 00000000000..ecf3145d634 --- /dev/null +++ b/sdk/dotnet/Ec2/GetInstanceType.cs @@ -0,0 +1,499 @@ +// *** 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.Ec2 +{ + public static class GetInstanceType + { + /// + /// Get characteristics for a single EC2 Instance Type. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// class MyStack : Stack + /// { + /// public MyStack() + /// { + /// var example = Output.Create(Aws.Ec2.GetInstanceType.InvokeAsync(new Aws.Ec2.GetInstanceTypeArgs + /// { + /// InstanceType = "t2.micro", + /// })); + /// } + /// + /// } + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetInstanceTypeArgs args, InvokeOptions? options = null) + => Pulumi.Deployment.Instance.InvokeAsync("aws:ec2/getInstanceType:getInstanceType", args ?? new GetInstanceTypeArgs(), options.WithVersion()); + } + + + public sealed class GetInstanceTypeArgs : Pulumi.InvokeArgs + { + /// + /// The default number of cores for the instance type. + /// + [Input("defaultCores")] + public int? DefaultCores { get; set; } + + /// + /// The default number of threads per core for the instance type. + /// + [Input("defaultThreadsPerCore")] + public int? DefaultThreadsPerCore { get; set; } + + [Input("fpgas")] + private List? _fpgas; + + /// + /// Describes the FPGA accelerator settings for the instance type. + /// * `fpgas.#.count` - The count of FPGA accelerators for the instance type. + /// * `fpgas.#.manufacturer` - The manufacturer of the FPGA accelerator. + /// * `fpgas.#.memory_size` - The size (in MiB) for the memory available to the FPGA accelerator. + /// * `fpgas.#.name` - The name of the FPGA accelerator. + /// + public List Fpgas + { + get => _fpgas ?? (_fpgas = new List()); + set => _fpgas = value; + } + + [Input("gpuses")] + private List? _gpuses; + + /// + /// Describes the GPU accelerators for the instance type. + /// * `gpus.#.count` - The number of GPUs for the instance type. + /// * `gpus.#.manufacturer` - The manufacturer of the GPU accelerator. + /// * `gpus.#.memory_size` - The size (in MiB) for the memory available to the GPU accelerator. + /// * `gpus.#.name` - The name of the GPU accelerator. + /// + public List Gpuses + { + get => _gpuses ?? (_gpuses = new List()); + set => _gpuses = value; + } + + /// + /// Indicates the hypervisor used for the instance type. + /// * `inference_accelerators` Describes the Inference accelerators for the instance type. + /// * `inference_accelerators.#.count` - The number of Inference accelerators for the instance type. + /// * `inference_accelerators.#.manufacturer` - The manufacturer of the Inference accelerator. + /// * `inference_accelerators.#.name` - The name of the Inference accelerator. + /// + [Input("hypervisor")] + public string? Hypervisor { get; set; } + + [Input("inferenceAccelerators")] + private List? _inferenceAccelerators; + public List InferenceAccelerators + { + get => _inferenceAccelerators ?? (_inferenceAccelerators = new List()); + set => _inferenceAccelerators = value; + } + + [Input("instanceDisks")] + private List? _instanceDisks; + + /// + /// Describes the disks for the instance type. + /// * `instance_disks.#.count` - The number of disks with this configuration. + /// * `instance_disks.#.size` - The size of the disk in GB. + /// * `instance_disks.#.type` - The type of disk. + /// + public List InstanceDisks + { + get => _instanceDisks ?? (_instanceDisks = new List()); + set => _instanceDisks = value; + } + + /// + /// Instance + /// + [Input("instanceType", required: true)] + public string InstanceType { get; set; } = null!; + + /// + /// The maximum number of IPv6 addresses per network interface. + /// + [Input("maximumIpv6AddressesPerInterface")] + public int? MaximumIpv6AddressesPerInterface { get; set; } + + /// + /// The total memory of all FPGA accelerators for the instance type (in MiB). + /// + [Input("totalFpgaMemory")] + public int? TotalFpgaMemory { get; set; } + + /// + /// The total size of the memory for the GPU accelerators for the instance type (in MiB). + /// + [Input("totalGpuMemory")] + public int? TotalGpuMemory { get; set; } + + /// + /// The total size of the instance disks, in GB. + /// + [Input("totalInstanceStorage")] + public int? TotalInstanceStorage { get; set; } + + public GetInstanceTypeArgs() + { + } + } + + + [OutputType] + public sealed class GetInstanceTypeResult + { + /// + /// `true` if auto recovery is supported. + /// + public readonly bool AutoRecoverySupported; + /// + /// `true` if it is a bare metal instance type. + /// + public readonly bool BareMetal; + /// + /// `true` if the instance type is a burstable performance instance type. + /// + public readonly bool BurstablePerformanceSupported; + /// + /// `true` if the instance type is a current generation. + /// + public readonly bool CurrentGeneration; + /// + /// `true` if Dedicated Hosts are supported on the instance type. + /// + public readonly bool DedicatedHostsSupported; + /// + /// The default number of cores for the instance type. + /// + public readonly int DefaultCores; + /// + /// The default number of threads per core for the instance type. + /// + public readonly int DefaultThreadsPerCore; + /// + /// The default number of vCPUs for the instance type. + /// + public readonly int DefaultVcpus; + /// + /// Indicates whether Amazon EBS encryption is supported. + /// + public readonly string EbsEncryptionSupport; + /// + /// Indicates whether non-volatile memory express (NVMe) is supported. + /// + public readonly string EbsNvmeSupport; + /// + /// Indicates that the instance type is Amazon EBS-optimized. + /// + public readonly string EbsOptimizedSupport; + /// + /// The baseline bandwidth performance for an EBS-optimized instance type, in Mbps. + /// + public readonly int EbsPerformanceBaselineBandwidth; + /// + /// The baseline input/output storage operations per seconds for an EBS-optimized instance type. + /// + public readonly int EbsPerformanceBaselineIops; + /// + /// The baseline throughput performance for an EBS-optimized instance type, in MBps. + /// + public readonly double EbsPerformanceBaselineThroughput; + /// + /// The maximum bandwidth performance for an EBS-optimized instance type, in Mbps. + /// + public readonly int EbsPerformanceMaximumBandwidth; + /// + /// The maximum input/output storage operations per second for an EBS-optimized instance type. + /// + public readonly int EbsPerformanceMaximumIops; + /// + /// The maximum throughput performance for an EBS-optimized instance type, in MBps. + /// + public readonly double EbsPerformanceMaximumThroughput; + /// + /// Indicates whether Elastic Fabric Adapter (EFA) is supported. + /// + public readonly bool EfaSupported; + /// + /// Indicates whether Elastic Network Adapter (ENA) is supported. + /// + public readonly string EnaSupport; + /// + /// Describes the FPGA accelerator settings for the instance type. + /// * `fpgas.#.count` - The count of FPGA accelerators for the instance type. + /// * `fpgas.#.manufacturer` - The manufacturer of the FPGA accelerator. + /// * `fpgas.#.memory_size` - The size (in MiB) for the memory available to the FPGA accelerator. + /// * `fpgas.#.name` - The name of the FPGA accelerator. + /// + public readonly ImmutableArray Fpgas; + /// + /// `true` if the instance type is eligible for the free tier. + /// + public readonly bool FreeTierEligible; + /// + /// Describes the GPU accelerators for the instance type. + /// * `gpus.#.count` - The number of GPUs for the instance type. + /// * `gpus.#.manufacturer` - The manufacturer of the GPU accelerator. + /// * `gpus.#.memory_size` - The size (in MiB) for the memory available to the GPU accelerator. + /// * `gpus.#.name` - The name of the GPU accelerator. + /// + public readonly ImmutableArray Gpuses; + /// + /// `true` if On-Demand hibernation is supported. + /// + public readonly bool HibernationSupported; + /// + /// Indicates the hypervisor used for the instance type. + /// * `inference_accelerators` Describes the Inference accelerators for the instance type. + /// * `inference_accelerators.#.count` - The number of Inference accelerators for the instance type. + /// * `inference_accelerators.#.manufacturer` - The manufacturer of the Inference accelerator. + /// * `inference_accelerators.#.name` - The name of the Inference accelerator. + /// + public readonly string Hypervisor; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + public readonly ImmutableArray InferenceAccelerators; + /// + /// Describes the disks for the instance type. + /// * `instance_disks.#.count` - The number of disks with this configuration. + /// * `instance_disks.#.size` - The size of the disk in GB. + /// * `instance_disks.#.type` - The type of disk. + /// + public readonly ImmutableArray InstanceDisks; + /// + /// `true` if instance storage is supported. + /// + public readonly bool InstanceStorageSupported; + public readonly string InstanceType; + /// + /// `true` if IPv6 is supported. + /// + public readonly bool Ipv6Supported; + /// + /// The maximum number of IPv4 addresses per network interface. + /// + public readonly int MaximumIpv4AddressesPerInterface; + /// + /// The maximum number of IPv6 addresses per network interface. + /// + public readonly int MaximumIpv6AddressesPerInterface; + /// + /// The maximum number of network interfaces for the instance type. + /// + public readonly int MaximumNetworkInterfaces; + /// + /// Size of the instance memory, in MiB. + /// + public readonly int MemorySize; + /// + /// Describes the network performance. + /// + public readonly string NetworkPerformance; + /// + /// A list of architectures supported by the instance type. + /// + public readonly ImmutableArray SupportedArchitectures; + /// + /// A list of supported placement groups types. + /// + public readonly ImmutableArray SupportedPlacementStrategies; + /// + /// Indicates the supported root device types. + /// + public readonly ImmutableArray SupportedRootDeviceTypes; + /// + /// Indicates whether the instance type is offered for spot or On-Demand. + /// + public readonly ImmutableArray SupportedUsagesClasses; + /// + /// The supported virtualization types. + /// + public readonly ImmutableArray SupportedVirtualizationTypes; + /// + /// The speed of the processor, in GHz. + /// + public readonly double SustainedClockSpeed; + /// + /// The total memory of all FPGA accelerators for the instance type (in MiB). + /// + public readonly int TotalFpgaMemory; + /// + /// The total size of the memory for the GPU accelerators for the instance type (in MiB). + /// + public readonly int TotalGpuMemory; + /// + /// The total size of the instance disks, in GB. + /// + public readonly int TotalInstanceStorage; + /// + /// List of the valid number of cores that can be configured for the instance type. + /// + public readonly ImmutableArray ValidCores; + /// + /// List of the valid number of threads per core that can be configured for the instance type. + /// + public readonly ImmutableArray ValidThreadsPerCores; + + [OutputConstructor] + private GetInstanceTypeResult( + bool autoRecoverySupported, + + bool bareMetal, + + bool burstablePerformanceSupported, + + bool currentGeneration, + + bool dedicatedHostsSupported, + + int defaultCores, + + int defaultThreadsPerCore, + + int defaultVcpus, + + string ebsEncryptionSupport, + + string ebsNvmeSupport, + + string ebsOptimizedSupport, + + int ebsPerformanceBaselineBandwidth, + + int ebsPerformanceBaselineIops, + + double ebsPerformanceBaselineThroughput, + + int ebsPerformanceMaximumBandwidth, + + int ebsPerformanceMaximumIops, + + double ebsPerformanceMaximumThroughput, + + bool efaSupported, + + string enaSupport, + + ImmutableArray fpgas, + + bool freeTierEligible, + + ImmutableArray gpuses, + + bool hibernationSupported, + + string hypervisor, + + string id, + + ImmutableArray inferenceAccelerators, + + ImmutableArray instanceDisks, + + bool instanceStorageSupported, + + string instanceType, + + bool ipv6Supported, + + int maximumIpv4AddressesPerInterface, + + int maximumIpv6AddressesPerInterface, + + int maximumNetworkInterfaces, + + int memorySize, + + string networkPerformance, + + ImmutableArray supportedArchitectures, + + ImmutableArray supportedPlacementStrategies, + + ImmutableArray supportedRootDeviceTypes, + + ImmutableArray supportedUsagesClasses, + + ImmutableArray supportedVirtualizationTypes, + + double sustainedClockSpeed, + + int totalFpgaMemory, + + int totalGpuMemory, + + int totalInstanceStorage, + + ImmutableArray validCores, + + ImmutableArray validThreadsPerCores) + { + AutoRecoverySupported = autoRecoverySupported; + BareMetal = bareMetal; + BurstablePerformanceSupported = burstablePerformanceSupported; + CurrentGeneration = currentGeneration; + DedicatedHostsSupported = dedicatedHostsSupported; + DefaultCores = defaultCores; + DefaultThreadsPerCore = defaultThreadsPerCore; + DefaultVcpus = defaultVcpus; + EbsEncryptionSupport = ebsEncryptionSupport; + EbsNvmeSupport = ebsNvmeSupport; + EbsOptimizedSupport = ebsOptimizedSupport; + EbsPerformanceBaselineBandwidth = ebsPerformanceBaselineBandwidth; + EbsPerformanceBaselineIops = ebsPerformanceBaselineIops; + EbsPerformanceBaselineThroughput = ebsPerformanceBaselineThroughput; + EbsPerformanceMaximumBandwidth = ebsPerformanceMaximumBandwidth; + EbsPerformanceMaximumIops = ebsPerformanceMaximumIops; + EbsPerformanceMaximumThroughput = ebsPerformanceMaximumThroughput; + EfaSupported = efaSupported; + EnaSupport = enaSupport; + Fpgas = fpgas; + FreeTierEligible = freeTierEligible; + Gpuses = gpuses; + HibernationSupported = hibernationSupported; + Hypervisor = hypervisor; + Id = id; + InferenceAccelerators = inferenceAccelerators; + InstanceDisks = instanceDisks; + InstanceStorageSupported = instanceStorageSupported; + InstanceType = instanceType; + Ipv6Supported = ipv6Supported; + MaximumIpv4AddressesPerInterface = maximumIpv4AddressesPerInterface; + MaximumIpv6AddressesPerInterface = maximumIpv6AddressesPerInterface; + MaximumNetworkInterfaces = maximumNetworkInterfaces; + MemorySize = memorySize; + NetworkPerformance = networkPerformance; + SupportedArchitectures = supportedArchitectures; + SupportedPlacementStrategies = supportedPlacementStrategies; + SupportedRootDeviceTypes = supportedRootDeviceTypes; + SupportedUsagesClasses = supportedUsagesClasses; + SupportedVirtualizationTypes = supportedVirtualizationTypes; + SustainedClockSpeed = sustainedClockSpeed; + TotalFpgaMemory = totalFpgaMemory; + TotalGpuMemory = totalGpuMemory; + TotalInstanceStorage = totalInstanceStorage; + ValidCores = validCores; + ValidThreadsPerCores = validThreadsPerCores; + } + } +} diff --git a/sdk/dotnet/Ec2/GetVpcEndpointService.cs b/sdk/dotnet/Ec2/GetVpcEndpointService.cs index 482deea9b33..50d3449f171 100644 --- a/sdk/dotnet/Ec2/GetVpcEndpointService.cs +++ b/sdk/dotnet/Ec2/GetVpcEndpointService.cs @@ -31,6 +31,7 @@ public static class GetVpcEndpointService /// var s3 = Output.Create(Aws.Ec2.GetVpcEndpointService.InvokeAsync(new Aws.Ec2.GetVpcEndpointServiceArgs /// { /// Service = "s3", + /// ServiceType = "Gateway", /// })); /// // Create a VPC /// var foo = new Aws.Ec2.Vpc("foo", new Aws.Ec2.VpcArgs @@ -131,6 +132,12 @@ public List Filters [Input("serviceName")] public string? ServiceName { get; set; } + /// + /// The service type, `Gateway` or `Interface`. + /// + [Input("serviceType")] + public string? ServiceType { get; set; } + [Input("tags")] private Dictionary? _tags; @@ -191,9 +198,6 @@ public sealed class GetVpcEndpointServiceResult /// public readonly string ServiceId; public readonly string ServiceName; - /// - /// The service type, `Gateway` or `Interface`. - /// public readonly string ServiceType; /// /// A map of tags assigned to the resource. diff --git a/sdk/dotnet/Ec2/Inputs/GetInstanceTypeFpgaArgs.cs b/sdk/dotnet/Ec2/Inputs/GetInstanceTypeFpgaArgs.cs new file mode 100644 index 00000000000..7aa01758e70 --- /dev/null +++ b/sdk/dotnet/Ec2/Inputs/GetInstanceTypeFpgaArgs.cs @@ -0,0 +1,34 @@ +// *** 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.Ec2.Inputs +{ + + public sealed class GetInstanceTypeFpgaArgs : Pulumi.InvokeArgs + { + [Input("count", required: true)] + public int Count { get; set; } + + [Input("manufacturer", required: true)] + public string Manufacturer { get; set; } = null!; + + /// + /// Size of the instance memory, in MiB. + /// + [Input("memorySize", required: true)] + public int MemorySize { get; set; } + + [Input("name", required: true)] + public string Name { get; set; } = null!; + + public GetInstanceTypeFpgaArgs() + { + } + } +} diff --git a/sdk/dotnet/Ec2/Inputs/GetInstanceTypeGpusArgs.cs b/sdk/dotnet/Ec2/Inputs/GetInstanceTypeGpusArgs.cs new file mode 100644 index 00000000000..45ef56e7bcc --- /dev/null +++ b/sdk/dotnet/Ec2/Inputs/GetInstanceTypeGpusArgs.cs @@ -0,0 +1,34 @@ +// *** 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.Ec2.Inputs +{ + + public sealed class GetInstanceTypeGpusArgs : Pulumi.InvokeArgs + { + [Input("count", required: true)] + public int Count { get; set; } + + [Input("manufacturer", required: true)] + public string Manufacturer { get; set; } = null!; + + /// + /// Size of the instance memory, in MiB. + /// + [Input("memorySize", required: true)] + public int MemorySize { get; set; } + + [Input("name", required: true)] + public string Name { get; set; } = null!; + + public GetInstanceTypeGpusArgs() + { + } + } +} diff --git a/sdk/dotnet/Ec2/Inputs/GetInstanceTypeInferenceAcceleratorArgs.cs b/sdk/dotnet/Ec2/Inputs/GetInstanceTypeInferenceAcceleratorArgs.cs new file mode 100644 index 00000000000..eb00bbbb74e --- /dev/null +++ b/sdk/dotnet/Ec2/Inputs/GetInstanceTypeInferenceAcceleratorArgs.cs @@ -0,0 +1,28 @@ +// *** 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.Ec2.Inputs +{ + + public sealed class GetInstanceTypeInferenceAcceleratorArgs : Pulumi.InvokeArgs + { + [Input("count", required: true)] + public int Count { get; set; } + + [Input("manufacturer", required: true)] + public string Manufacturer { get; set; } = null!; + + [Input("name", required: true)] + public string Name { get; set; } = null!; + + public GetInstanceTypeInferenceAcceleratorArgs() + { + } + } +} diff --git a/sdk/dotnet/Ec2/Inputs/GetInstanceTypeInstanceDiskArgs.cs b/sdk/dotnet/Ec2/Inputs/GetInstanceTypeInstanceDiskArgs.cs new file mode 100644 index 00000000000..ef1a67867f1 --- /dev/null +++ b/sdk/dotnet/Ec2/Inputs/GetInstanceTypeInstanceDiskArgs.cs @@ -0,0 +1,28 @@ +// *** 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.Ec2.Inputs +{ + + public sealed class GetInstanceTypeInstanceDiskArgs : Pulumi.InvokeArgs + { + [Input("count", required: true)] + public int Count { get; set; } + + [Input("size", required: true)] + public int Size { get; set; } + + [Input("type", required: true)] + public string Type { get; set; } = null!; + + public GetInstanceTypeInstanceDiskArgs() + { + } + } +} diff --git a/sdk/dotnet/Ec2/Outputs/GetInstanceTypeFpgaResult.cs b/sdk/dotnet/Ec2/Outputs/GetInstanceTypeFpgaResult.cs new file mode 100644 index 00000000000..03682facd40 --- /dev/null +++ b/sdk/dotnet/Ec2/Outputs/GetInstanceTypeFpgaResult.cs @@ -0,0 +1,40 @@ +// *** 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.Ec2.Outputs +{ + + [OutputType] + public sealed class GetInstanceTypeFpgaResult + { + public readonly int Count; + public readonly string Manufacturer; + /// + /// Size of the instance memory, in MiB. + /// + public readonly int MemorySize; + public readonly string Name; + + [OutputConstructor] + private GetInstanceTypeFpgaResult( + int count, + + string manufacturer, + + int memorySize, + + string name) + { + Count = count; + Manufacturer = manufacturer; + MemorySize = memorySize; + Name = name; + } + } +} diff --git a/sdk/dotnet/Ec2/Outputs/GetInstanceTypeGpusResult.cs b/sdk/dotnet/Ec2/Outputs/GetInstanceTypeGpusResult.cs new file mode 100644 index 00000000000..82c35b5212d --- /dev/null +++ b/sdk/dotnet/Ec2/Outputs/GetInstanceTypeGpusResult.cs @@ -0,0 +1,40 @@ +// *** 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.Ec2.Outputs +{ + + [OutputType] + public sealed class GetInstanceTypeGpusResult + { + public readonly int Count; + public readonly string Manufacturer; + /// + /// Size of the instance memory, in MiB. + /// + public readonly int MemorySize; + public readonly string Name; + + [OutputConstructor] + private GetInstanceTypeGpusResult( + int count, + + string manufacturer, + + int memorySize, + + string name) + { + Count = count; + Manufacturer = manufacturer; + MemorySize = memorySize; + Name = name; + } + } +} diff --git a/sdk/dotnet/Ec2/Outputs/GetInstanceTypeInferenceAcceleratorResult.cs b/sdk/dotnet/Ec2/Outputs/GetInstanceTypeInferenceAcceleratorResult.cs new file mode 100644 index 00000000000..ec85b166732 --- /dev/null +++ b/sdk/dotnet/Ec2/Outputs/GetInstanceTypeInferenceAcceleratorResult.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.Ec2.Outputs +{ + + [OutputType] + public sealed class GetInstanceTypeInferenceAcceleratorResult + { + public readonly int Count; + public readonly string Manufacturer; + public readonly string Name; + + [OutputConstructor] + private GetInstanceTypeInferenceAcceleratorResult( + int count, + + string manufacturer, + + string name) + { + Count = count; + Manufacturer = manufacturer; + Name = name; + } + } +} diff --git a/sdk/dotnet/Ec2/Outputs/GetInstanceTypeInstanceDiskResult.cs b/sdk/dotnet/Ec2/Outputs/GetInstanceTypeInstanceDiskResult.cs new file mode 100644 index 00000000000..eca12148d4f --- /dev/null +++ b/sdk/dotnet/Ec2/Outputs/GetInstanceTypeInstanceDiskResult.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.Ec2.Outputs +{ + + [OutputType] + public sealed class GetInstanceTypeInstanceDiskResult + { + public readonly int Count; + public readonly int Size; + public readonly string Type; + + [OutputConstructor] + private GetInstanceTypeInstanceDiskResult( + int count, + + int size, + + string type) + { + Count = count; + Size = size; + Type = type; + } + } +} diff --git a/sdk/dotnet/Efs/FileSystemPolicy.cs b/sdk/dotnet/Efs/FileSystemPolicy.cs index aa7c0cdd92b..eb13498934e 100644 --- a/sdk/dotnet/Efs/FileSystemPolicy.cs +++ b/sdk/dotnet/Efs/FileSystemPolicy.cs @@ -33,7 +33,7 @@ namespace Pulumi.Aws.Efs /// ""Id"": ""ExamplePolicy01"", /// ""Statement"": [ /// {{ - /// ""Sid"": ""ExampleSatement01"", + /// ""Sid"": ""ExampleStatement01"", /// ""Effect"": ""Allow"", /// ""Principal"": {{ /// ""AWS"": ""*"" diff --git a/sdk/dotnet/ElasticLoadBalancingV2/Inputs/TargetGroupStickinessArgs.cs b/sdk/dotnet/ElasticLoadBalancingV2/Inputs/TargetGroupStickinessArgs.cs index de6b138ce4d..cc0b194f4db 100644 --- a/sdk/dotnet/ElasticLoadBalancingV2/Inputs/TargetGroupStickinessArgs.cs +++ b/sdk/dotnet/ElasticLoadBalancingV2/Inputs/TargetGroupStickinessArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.ElasticLoadBalancingV2.Inputs public sealed class TargetGroupStickinessArgs : Pulumi.ResourceArgs { /// - /// The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + /// Only used when the type is `lb_cookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). /// [Input("cookieDuration")] public Input? CookieDuration { get; set; } @@ -25,7 +25,7 @@ public sealed class TargetGroupStickinessArgs : Pulumi.ResourceArgs public Input? Enabled { get; set; } /// - /// The type of sticky sessions. The only current possible value is `lb_cookie`. + /// The type of sticky sessions. The only current possible values are `lb_cookie` for ALBs and `source_ip` for NLBs. /// [Input("type", required: true)] public Input Type { get; set; } = null!; diff --git a/sdk/dotnet/ElasticLoadBalancingV2/Inputs/TargetGroupStickinessGetArgs.cs b/sdk/dotnet/ElasticLoadBalancingV2/Inputs/TargetGroupStickinessGetArgs.cs index c2bc751e549..b4c14d7e375 100644 --- a/sdk/dotnet/ElasticLoadBalancingV2/Inputs/TargetGroupStickinessGetArgs.cs +++ b/sdk/dotnet/ElasticLoadBalancingV2/Inputs/TargetGroupStickinessGetArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.ElasticLoadBalancingV2.Inputs public sealed class TargetGroupStickinessGetArgs : Pulumi.ResourceArgs { /// - /// The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + /// Only used when the type is `lb_cookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). /// [Input("cookieDuration")] public Input? CookieDuration { get; set; } @@ -25,7 +25,7 @@ public sealed class TargetGroupStickinessGetArgs : Pulumi.ResourceArgs public Input? Enabled { get; set; } /// - /// The type of sticky sessions. The only current possible value is `lb_cookie`. + /// The type of sticky sessions. The only current possible values are `lb_cookie` for ALBs and `source_ip` for NLBs. /// [Input("type", required: true)] public Input Type { get; set; } = null!; diff --git a/sdk/dotnet/ElasticLoadBalancingV2/LoadBalancer.cs b/sdk/dotnet/ElasticLoadBalancingV2/LoadBalancer.cs index 56cbd4c47bb..fad04d823df 100644 --- a/sdk/dotnet/ElasticLoadBalancingV2/LoadBalancer.cs +++ b/sdk/dotnet/ElasticLoadBalancingV2/LoadBalancer.cs @@ -34,10 +34,7 @@ namespace Pulumi.Aws.ElasticLoadBalancingV2 /// { /// aws_security_group.Lb_sg.Id, /// }, - /// Subnets = - /// { - /// aws_subnet.Public.Select(__item => __item.Id).ToList(), - /// }, + /// Subnets = aws_subnet.Public.Select(__item => __item.Id).ToList(), /// EnableDeletionProtection = true, /// AccessLogs = new Aws.LB.Inputs.LoadBalancerAccessLogsArgs /// { @@ -69,10 +66,7 @@ namespace Pulumi.Aws.ElasticLoadBalancingV2 /// { /// Internal = false, /// LoadBalancerType = "network", - /// Subnets = - /// { - /// aws_subnet.Public.Select(__item => __item.Id).ToList(), - /// }, + /// Subnets = aws_subnet.Public.Select(__item => __item.Id).ToList(), /// EnableDeletionProtection = true, /// Tags = /// { diff --git a/sdk/dotnet/ElasticLoadBalancingV2/Outputs/TargetGroupStickiness.cs b/sdk/dotnet/ElasticLoadBalancingV2/Outputs/TargetGroupStickiness.cs index c7efb961ffe..f44e99ed3a1 100644 --- a/sdk/dotnet/ElasticLoadBalancingV2/Outputs/TargetGroupStickiness.cs +++ b/sdk/dotnet/ElasticLoadBalancingV2/Outputs/TargetGroupStickiness.cs @@ -14,7 +14,7 @@ namespace Pulumi.Aws.ElasticLoadBalancingV2.Outputs public sealed class TargetGroupStickiness { /// - /// The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + /// Only used when the type is `lb_cookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). /// public readonly int? CookieDuration; /// @@ -22,7 +22,7 @@ public sealed class TargetGroupStickiness /// public readonly bool? Enabled; /// - /// The type of sticky sessions. The only current possible value is `lb_cookie`. + /// The type of sticky sessions. The only current possible values are `lb_cookie` for ALBs and `source_ip` for NLBs. /// public readonly string Type; diff --git a/sdk/dotnet/ElasticLoadBalancingV2/TargetGroup.cs b/sdk/dotnet/ElasticLoadBalancingV2/TargetGroup.cs index 8a3ad4cad7a..afa7eb4c782 100644 --- a/sdk/dotnet/ElasticLoadBalancingV2/TargetGroup.cs +++ b/sdk/dotnet/ElasticLoadBalancingV2/TargetGroup.cs @@ -159,7 +159,7 @@ public partial class TargetGroup : Pulumi.CustomResource public Output SlowStart { get; private set; } = null!; /// - /// A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + /// A Stickiness block. Stickiness blocks are documented below. /// [Output("stickiness")] public Output Stickiness { get; private set; } = null!; @@ -294,7 +294,7 @@ public sealed class TargetGroupArgs : Pulumi.ResourceArgs public Input? SlowStart { get; set; } /// - /// A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + /// A Stickiness block. Stickiness blocks are documented below. /// [Input("stickiness")] public Input? Stickiness { get; set; } @@ -408,7 +408,7 @@ public sealed class TargetGroupState : Pulumi.ResourceArgs public Input? SlowStart { get; set; } /// - /// A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + /// A Stickiness block. Stickiness blocks are documented below. /// [Input("stickiness")] public Input? Stickiness { get; set; } diff --git a/sdk/dotnet/GetIpRanges.cs b/sdk/dotnet/GetIpRanges.cs index d38086e7cfb..c7ad7a1270d 100644 --- a/sdk/dotnet/GetIpRanges.cs +++ b/sdk/dotnet/GetIpRanges.cs @@ -12,7 +12,7 @@ namespace Pulumi.Aws public static class GetIpRanges { /// - /// Use this data source to get the IP ranges of various AWS products and services. For more information about the contents of this data source and required JSON syntax if referencing a custom URL, see the [AWS IP Address Ranges documention](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html). + /// Use this data source to get the IP ranges of various AWS products and services. For more information about the contents of this data source and required JSON syntax if referencing a custom URL, see the [AWS IP Address Ranges documentation](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html). /// /// {{% examples %}} /// ## Example Usage @@ -102,7 +102,7 @@ public List Services } /// - /// Custom URL for source JSON file. Syntax must match [AWS IP Address Ranges documention](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html). Defaults to `https://ip-ranges.amazonaws.com/ip-ranges.json`. + /// Custom URL for source JSON file. Syntax must match [AWS IP Address Ranges documentation](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html). Defaults to `https://ip-ranges.amazonaws.com/ip-ranges.json`. /// [Input("url")] public string? Url { get; set; } diff --git a/sdk/dotnet/GetPartition.cs b/sdk/dotnet/GetPartition.cs index ea1f1d87eb9..0b2016ab9ca 100644 --- a/sdk/dotnet/GetPartition.cs +++ b/sdk/dotnet/GetPartition.cs @@ -60,11 +60,17 @@ public static Task InvokeAsync(InvokeOptions? options = null [OutputType] public sealed class GetPartitionResult { + /// + /// Base DNS domain name for the current partition (e.g. `amazonaws.com` in AWS Commercial, `amazonaws.com.cn` in AWS China). + /// public readonly string DnsSuffix; /// /// The provider-assigned unique ID for this managed resource. /// public readonly string Id; + /// + /// Identifier of the current partition (e.g. `aws` in AWS Commercial, `aws-cn` in AWS China). + /// public readonly string Partition; [OutputConstructor] diff --git a/sdk/dotnet/Inputs/ProviderEndpointArgs.cs b/sdk/dotnet/Inputs/ProviderEndpointArgs.cs index a22f71eec86..89566e743c2 100644 --- a/sdk/dotnet/Inputs/ProviderEndpointArgs.cs +++ b/sdk/dotnet/Inputs/ProviderEndpointArgs.cs @@ -414,6 +414,9 @@ public sealed class ProviderEndpointArgs : Pulumi.ResourceArgs [Input("synthetics")] public Input? Synthetics { get; set; } + [Input("timestreamwrite")] + public Input? Timestreamwrite { get; set; } + [Input("transfer")] public Input? Transfer { get; set; } diff --git a/sdk/dotnet/LB/Inputs/TargetGroupStickinessArgs.cs b/sdk/dotnet/LB/Inputs/TargetGroupStickinessArgs.cs index d9434d27380..f3ac6bf25eb 100644 --- a/sdk/dotnet/LB/Inputs/TargetGroupStickinessArgs.cs +++ b/sdk/dotnet/LB/Inputs/TargetGroupStickinessArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.LB.Inputs public sealed class TargetGroupStickinessArgs : Pulumi.ResourceArgs { /// - /// The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + /// Only used when the type is `lb_cookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). /// [Input("cookieDuration")] public Input? CookieDuration { get; set; } @@ -25,7 +25,7 @@ public sealed class TargetGroupStickinessArgs : Pulumi.ResourceArgs public Input? Enabled { get; set; } /// - /// The type of sticky sessions. The only current possible value is `lb_cookie`. + /// The type of sticky sessions. The only current possible values are `lb_cookie` for ALBs and `source_ip` for NLBs. /// [Input("type", required: true)] public Input Type { get; set; } = null!; diff --git a/sdk/dotnet/LB/Inputs/TargetGroupStickinessGetArgs.cs b/sdk/dotnet/LB/Inputs/TargetGroupStickinessGetArgs.cs index 632c356f17a..a53942cb203 100644 --- a/sdk/dotnet/LB/Inputs/TargetGroupStickinessGetArgs.cs +++ b/sdk/dotnet/LB/Inputs/TargetGroupStickinessGetArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.LB.Inputs public sealed class TargetGroupStickinessGetArgs : Pulumi.ResourceArgs { /// - /// The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + /// Only used when the type is `lb_cookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). /// [Input("cookieDuration")] public Input? CookieDuration { get; set; } @@ -25,7 +25,7 @@ public sealed class TargetGroupStickinessGetArgs : Pulumi.ResourceArgs public Input? Enabled { get; set; } /// - /// The type of sticky sessions. The only current possible value is `lb_cookie`. + /// The type of sticky sessions. The only current possible values are `lb_cookie` for ALBs and `source_ip` for NLBs. /// [Input("type", required: true)] public Input Type { get; set; } = null!; diff --git a/sdk/dotnet/LB/LoadBalancer.cs b/sdk/dotnet/LB/LoadBalancer.cs index dcfdac186d0..73f61f36a01 100644 --- a/sdk/dotnet/LB/LoadBalancer.cs +++ b/sdk/dotnet/LB/LoadBalancer.cs @@ -34,10 +34,7 @@ namespace Pulumi.Aws.LB /// { /// aws_security_group.Lb_sg.Id, /// }, - /// Subnets = - /// { - /// aws_subnet.Public.Select(__item => __item.Id).ToList(), - /// }, + /// Subnets = aws_subnet.Public.Select(__item => __item.Id).ToList(), /// EnableDeletionProtection = true, /// AccessLogs = new Aws.LB.Inputs.LoadBalancerAccessLogsArgs /// { @@ -69,10 +66,7 @@ namespace Pulumi.Aws.LB /// { /// Internal = false, /// LoadBalancerType = "network", - /// Subnets = - /// { - /// aws_subnet.Public.Select(__item => __item.Id).ToList(), - /// }, + /// Subnets = aws_subnet.Public.Select(__item => __item.Id).ToList(), /// EnableDeletionProtection = true, /// Tags = /// { diff --git a/sdk/dotnet/LB/Outputs/TargetGroupStickiness.cs b/sdk/dotnet/LB/Outputs/TargetGroupStickiness.cs index 1561528babb..854eeeee246 100644 --- a/sdk/dotnet/LB/Outputs/TargetGroupStickiness.cs +++ b/sdk/dotnet/LB/Outputs/TargetGroupStickiness.cs @@ -14,7 +14,7 @@ namespace Pulumi.Aws.LB.Outputs public sealed class TargetGroupStickiness { /// - /// The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + /// Only used when the type is `lb_cookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). /// public readonly int? CookieDuration; /// @@ -22,7 +22,7 @@ public sealed class TargetGroupStickiness /// public readonly bool? Enabled; /// - /// The type of sticky sessions. The only current possible value is `lb_cookie`. + /// The type of sticky sessions. The only current possible values are `lb_cookie` for ALBs and `source_ip` for NLBs. /// public readonly string Type; diff --git a/sdk/dotnet/LB/TargetGroup.cs b/sdk/dotnet/LB/TargetGroup.cs index 6733e9228a8..1c54c59d053 100644 --- a/sdk/dotnet/LB/TargetGroup.cs +++ b/sdk/dotnet/LB/TargetGroup.cs @@ -158,7 +158,7 @@ public partial class TargetGroup : Pulumi.CustomResource public Output SlowStart { get; private set; } = null!; /// - /// A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + /// A Stickiness block. Stickiness blocks are documented below. /// [Output("stickiness")] public Output Stickiness { get; private set; } = null!; @@ -297,7 +297,7 @@ public sealed class TargetGroupArgs : Pulumi.ResourceArgs public Input? SlowStart { get; set; } /// - /// A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + /// A Stickiness block. Stickiness blocks are documented below. /// [Input("stickiness")] public Input? Stickiness { get; set; } @@ -411,7 +411,7 @@ public sealed class TargetGroupState : Pulumi.ResourceArgs public Input? SlowStart { get; set; } /// - /// A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + /// A Stickiness block. Stickiness blocks are documented below. /// [Input("stickiness")] public Input? Stickiness { get; set; } diff --git a/sdk/dotnet/Lex/BotAlias.cs b/sdk/dotnet/Lex/BotAlias.cs new file mode 100644 index 00000000000..735a1b2652e --- /dev/null +++ b/sdk/dotnet/Lex/BotAlias.cs @@ -0,0 +1,234 @@ +// *** 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.Lex +{ + /// + /// Provides an Amazon Lex Bot Alias resource. For more information see + /// [Amazon Lex: How It Works](https://docs.aws.amazon.com/lex/latest/dg/how-it-works.html) + /// + /// ## Example Usage + /// + /// ```csharp + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// class MyStack : Stack + /// { + /// public MyStack() + /// { + /// var orderFlowersProd = new Aws.Lex.BotAlias("orderFlowersProd", new Aws.Lex.BotAliasArgs + /// { + /// BotName = "OrderFlowers", + /// BotVersion = "1", + /// Description = "Production Version of the OrderFlowers Bot.", + /// }); + /// } + /// + /// } + /// ``` + /// + public partial class BotAlias : Pulumi.CustomResource + { + /// + /// The ARN of the bot alias. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// The name of the bot. + /// + [Output("botName")] + public Output BotName { get; private set; } = null!; + + /// + /// The name of the bot. + /// + [Output("botVersion")] + public Output BotVersion { get; private set; } = null!; + + /// + /// Checksum of the bot alias. + /// + [Output("checksum")] + public Output Checksum { get; private set; } = null!; + + /// + /// The settings that determine how Amazon Lex uses conversation logs for the alias. Attributes are documented under conversation_logs. + /// + [Output("conversationLogs")] + public Output ConversationLogs { get; private set; } = null!; + + /// + /// The date that the bot alias was created. + /// + [Output("createdDate")] + public Output CreatedDate { get; private set; } = null!; + + /// + /// A description of the alias. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// The date that the bot alias was updated. When you create a resource, the creation date and the last updated date are the same. + /// + [Output("lastUpdatedDate")] + public Output LastUpdatedDate { get; private set; } = null!; + + /// + /// The name of the alias. The name is not case sensitive. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + + /// + /// Create a BotAlias 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 BotAlias(string name, BotAliasArgs args, CustomResourceOptions? options = null) + : base("aws:lex/botAlias:BotAlias", name, args ?? new BotAliasArgs(), MakeResourceOptions(options, "")) + { + } + + private BotAlias(string name, Input id, BotAliasState? state = null, CustomResourceOptions? options = null) + : base("aws:lex/botAlias:BotAlias", 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 BotAlias 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 BotAlias Get(string name, Input id, BotAliasState? state = null, CustomResourceOptions? options = null) + { + return new BotAlias(name, id, state, options); + } + } + + public sealed class BotAliasArgs : Pulumi.ResourceArgs + { + /// + /// The name of the bot. + /// + [Input("botName", required: true)] + public Input BotName { get; set; } = null!; + + /// + /// The name of the bot. + /// + [Input("botVersion", required: true)] + public Input BotVersion { get; set; } = null!; + + /// + /// The settings that determine how Amazon Lex uses conversation logs for the alias. Attributes are documented under conversation_logs. + /// + [Input("conversationLogs")] + public Input? ConversationLogs { get; set; } + + /// + /// A description of the alias. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The name of the alias. The name is not case sensitive. + /// + [Input("name")] + public Input? Name { get; set; } + + public BotAliasArgs() + { + } + } + + public sealed class BotAliasState : Pulumi.ResourceArgs + { + /// + /// The ARN of the bot alias. + /// + [Input("arn")] + public Input? Arn { get; set; } + + /// + /// The name of the bot. + /// + [Input("botName")] + public Input? BotName { get; set; } + + /// + /// The name of the bot. + /// + [Input("botVersion")] + public Input? BotVersion { get; set; } + + /// + /// Checksum of the bot alias. + /// + [Input("checksum")] + public Input? Checksum { get; set; } + + /// + /// The settings that determine how Amazon Lex uses conversation logs for the alias. Attributes are documented under conversation_logs. + /// + [Input("conversationLogs")] + public Input? ConversationLogs { get; set; } + + /// + /// The date that the bot alias was created. + /// + [Input("createdDate")] + public Input? CreatedDate { get; set; } + + /// + /// A description of the alias. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The date that the bot alias was updated. When you create a resource, the creation date and the last updated date are the same. + /// + [Input("lastUpdatedDate")] + public Input? LastUpdatedDate { get; set; } + + /// + /// The name of the alias. The name is not case sensitive. + /// + [Input("name")] + public Input? Name { get; set; } + + public BotAliasState() + { + } + } +} diff --git a/sdk/dotnet/Lex/GetBotAlias.cs b/sdk/dotnet/Lex/GetBotAlias.cs new file mode 100644 index 00000000000..01fb6266ffd --- /dev/null +++ b/sdk/dotnet/Lex/GetBotAlias.cs @@ -0,0 +1,137 @@ +// *** 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.Lex +{ + public static class GetBotAlias + { + /// + /// Provides details about a specific Amazon Lex Bot Alias. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// class MyStack : Stack + /// { + /// public MyStack() + /// { + /// var orderFlowersProd = Output.Create(Aws.Lex.GetBotAlias.InvokeAsync(new Aws.Lex.GetBotAliasArgs + /// { + /// BotName = "OrderFlowers", + /// Name = "OrderFlowersProd", + /// })); + /// } + /// + /// } + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetBotAliasArgs args, InvokeOptions? options = null) + => Pulumi.Deployment.Instance.InvokeAsync("aws:lex/getBotAlias:getBotAlias", args ?? new GetBotAliasArgs(), options.WithVersion()); + } + + + public sealed class GetBotAliasArgs : Pulumi.InvokeArgs + { + /// + /// The name of the bot. + /// + [Input("botName", required: true)] + public string BotName { get; set; } = null!; + + /// + /// The name of the bot alias. The name is case sensitive. + /// + [Input("name", required: true)] + public string Name { get; set; } = null!; + + public GetBotAliasArgs() + { + } + } + + + [OutputType] + public sealed class GetBotAliasResult + { + /// + /// The ARN of the bot alias. + /// + public readonly string Arn; + /// + /// The name of the bot. + /// + public readonly string BotName; + /// + /// The version of the bot that the alias points to. + /// + public readonly string BotVersion; + /// + /// Checksum of the bot alias. + /// + public readonly string Checksum; + /// + /// The date that the bot alias was created. + /// + public readonly string CreatedDate; + /// + /// A description of the alias. + /// + public readonly string Description; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + /// + /// The date that the bot alias was updated. When you create a resource, the creation date and the last updated date are the same. + /// + public readonly string LastUpdatedDate; + /// + /// The name of the alias. The name is not case sensitive. + /// + public readonly string Name; + + [OutputConstructor] + private GetBotAliasResult( + string arn, + + string botName, + + string botVersion, + + string checksum, + + string createdDate, + + string description, + + string id, + + string lastUpdatedDate, + + string name) + { + Arn = arn; + BotName = botName; + BotVersion = botVersion; + Checksum = checksum; + CreatedDate = createdDate; + Description = description; + Id = id; + LastUpdatedDate = lastUpdatedDate; + Name = name; + } + } +} diff --git a/sdk/dotnet/Lex/Inputs/BotAliasConversationLogsArgs.cs b/sdk/dotnet/Lex/Inputs/BotAliasConversationLogsArgs.cs new file mode 100644 index 00000000000..498e326153c --- /dev/null +++ b/sdk/dotnet/Lex/Inputs/BotAliasConversationLogsArgs.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.Lex.Inputs +{ + + public sealed class BotAliasConversationLogsArgs : Pulumi.ResourceArgs + { + /// + /// The Amazon Resource Name (ARN) of the IAM role used to write your logs to CloudWatch Logs or an S3 bucket. + /// + [Input("iamRoleArn", required: true)] + public Input IamRoleArn { get; set; } = null!; + + [Input("logSettings")] + private InputList? _logSettings; + + /// + /// The settings for your conversation logs. You can log text, audio, or both. Attributes are documented under log_settings. + /// + public InputList LogSettings + { + get => _logSettings ?? (_logSettings = new InputList()); + set => _logSettings = value; + } + + public BotAliasConversationLogsArgs() + { + } + } +} diff --git a/sdk/dotnet/Lex/Inputs/BotAliasConversationLogsGetArgs.cs b/sdk/dotnet/Lex/Inputs/BotAliasConversationLogsGetArgs.cs new file mode 100644 index 00000000000..ed9b786a32a --- /dev/null +++ b/sdk/dotnet/Lex/Inputs/BotAliasConversationLogsGetArgs.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.Lex.Inputs +{ + + public sealed class BotAliasConversationLogsGetArgs : Pulumi.ResourceArgs + { + /// + /// The Amazon Resource Name (ARN) of the IAM role used to write your logs to CloudWatch Logs or an S3 bucket. + /// + [Input("iamRoleArn", required: true)] + public Input IamRoleArn { get; set; } = null!; + + [Input("logSettings")] + private InputList? _logSettings; + + /// + /// The settings for your conversation logs. You can log text, audio, or both. Attributes are documented under log_settings. + /// + public InputList LogSettings + { + get => _logSettings ?? (_logSettings = new InputList()); + set => _logSettings = value; + } + + public BotAliasConversationLogsGetArgs() + { + } + } +} diff --git a/sdk/dotnet/Lex/Inputs/BotAliasConversationLogsLogSettingArgs.cs b/sdk/dotnet/Lex/Inputs/BotAliasConversationLogsLogSettingArgs.cs new file mode 100644 index 00000000000..389f13c3226 --- /dev/null +++ b/sdk/dotnet/Lex/Inputs/BotAliasConversationLogsLogSettingArgs.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.Lex.Inputs +{ + + public sealed class BotAliasConversationLogsLogSettingArgs : Pulumi.ResourceArgs + { + /// + /// The destination where logs are delivered. Options are `CLOUDWATCH_LOGS` or `S3`. + /// + [Input("destination", required: true)] + public Input Destination { get; set; } = null!; + + /// + /// The Amazon Resource Name (ARN) of the key used to encrypt audio logs in an S3 bucket. This can only be specified when `destination` is set to `S3`. + /// + [Input("kmsKeyArn")] + public Input? KmsKeyArn { get; set; } + + /// + /// The type of logging that is enabled. Options are `AUDIO` or `TEXT`. + /// + [Input("logType", required: true)] + public Input LogType { get; set; } = null!; + + /// + /// The Amazon Resource Name (ARN) of the CloudWatch Logs log group or S3 bucket where the logs are delivered. + /// + [Input("resourceArn", required: true)] + public Input ResourceArn { get; set; } = null!; + + /// + /// The prefix of the S3 object key for `AUDIO` logs or the log stream name for `TEXT` logs. + /// + [Input("resourcePrefix")] + public Input? ResourcePrefix { get; set; } + + public BotAliasConversationLogsLogSettingArgs() + { + } + } +} diff --git a/sdk/dotnet/Lex/Inputs/BotAliasConversationLogsLogSettingGetArgs.cs b/sdk/dotnet/Lex/Inputs/BotAliasConversationLogsLogSettingGetArgs.cs new file mode 100644 index 00000000000..f65400f3d9e --- /dev/null +++ b/sdk/dotnet/Lex/Inputs/BotAliasConversationLogsLogSettingGetArgs.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.Lex.Inputs +{ + + public sealed class BotAliasConversationLogsLogSettingGetArgs : Pulumi.ResourceArgs + { + /// + /// The destination where logs are delivered. Options are `CLOUDWATCH_LOGS` or `S3`. + /// + [Input("destination", required: true)] + public Input Destination { get; set; } = null!; + + /// + /// The Amazon Resource Name (ARN) of the key used to encrypt audio logs in an S3 bucket. This can only be specified when `destination` is set to `S3`. + /// + [Input("kmsKeyArn")] + public Input? KmsKeyArn { get; set; } + + /// + /// The type of logging that is enabled. Options are `AUDIO` or `TEXT`. + /// + [Input("logType", required: true)] + public Input LogType { get; set; } = null!; + + /// + /// The Amazon Resource Name (ARN) of the CloudWatch Logs log group or S3 bucket where the logs are delivered. + /// + [Input("resourceArn", required: true)] + public Input ResourceArn { get; set; } = null!; + + /// + /// The prefix of the S3 object key for `AUDIO` logs or the log stream name for `TEXT` logs. + /// + [Input("resourcePrefix")] + public Input? ResourcePrefix { get; set; } + + public BotAliasConversationLogsLogSettingGetArgs() + { + } + } +} diff --git a/sdk/dotnet/Lex/Inputs/IntentFollowUpPromptArgs.cs b/sdk/dotnet/Lex/Inputs/IntentFollowUpPromptArgs.cs index 0647532e740..efa5e005b64 100644 --- a/sdk/dotnet/Lex/Inputs/IntentFollowUpPromptArgs.cs +++ b/sdk/dotnet/Lex/Inputs/IntentFollowUpPromptArgs.cs @@ -19,9 +19,9 @@ public sealed class IntentFollowUpPromptArgs : Pulumi.ResourceArgs public Input Prompt { get; set; } = null!; /// - /// When the user answers "no" to the question defined in - /// `confirmation_prompt`, Amazon Lex responds with this statement to acknowledge that the intent was - /// canceled. + /// If the user answers "no" to the question defined in the prompt field, + /// Amazon Lex responds with this statement to acknowledge that the intent was canceled. Attributes are + /// documented below under statement. /// [Input("rejectionStatement", required: true)] public Input RejectionStatement { get; set; } = null!; diff --git a/sdk/dotnet/Lex/Inputs/IntentFollowUpPromptGetArgs.cs b/sdk/dotnet/Lex/Inputs/IntentFollowUpPromptGetArgs.cs index 5e5538895e2..16a6fedcc41 100644 --- a/sdk/dotnet/Lex/Inputs/IntentFollowUpPromptGetArgs.cs +++ b/sdk/dotnet/Lex/Inputs/IntentFollowUpPromptGetArgs.cs @@ -19,9 +19,9 @@ public sealed class IntentFollowUpPromptGetArgs : Pulumi.ResourceArgs public Input Prompt { get; set; } = null!; /// - /// When the user answers "no" to the question defined in - /// `confirmation_prompt`, Amazon Lex responds with this statement to acknowledge that the intent was - /// canceled. + /// If the user answers "no" to the question defined in the prompt field, + /// Amazon Lex responds with this statement to acknowledge that the intent was canceled. Attributes are + /// documented below under statement. /// [Input("rejectionStatement", required: true)] public Input RejectionStatement { get; set; } = null!; diff --git a/sdk/dotnet/Lex/Inputs/IntentSlotArgs.cs b/sdk/dotnet/Lex/Inputs/IntentSlotArgs.cs index ce1aecd1961..4643f649a41 100644 --- a/sdk/dotnet/Lex/Inputs/IntentSlotArgs.cs +++ b/sdk/dotnet/Lex/Inputs/IntentSlotArgs.cs @@ -27,7 +27,8 @@ public sealed class IntentSlotArgs : Pulumi.ResourceArgs /// /// Directs Lex the order in which to elicit this slot value from the user. /// For example, if the intent has two slots with priorities 1 and 2, AWS Lex first elicits a value for - /// the slot with priority 1. + /// the slot with priority 1. If multiple slots share the same priority, the order in which Lex elicits + /// values is arbitrary. /// [Input("priority")] public Input? Priority { get; set; } diff --git a/sdk/dotnet/Lex/Inputs/IntentSlotGetArgs.cs b/sdk/dotnet/Lex/Inputs/IntentSlotGetArgs.cs index c9a2a04fce0..2fcd319575c 100644 --- a/sdk/dotnet/Lex/Inputs/IntentSlotGetArgs.cs +++ b/sdk/dotnet/Lex/Inputs/IntentSlotGetArgs.cs @@ -27,7 +27,8 @@ public sealed class IntentSlotGetArgs : Pulumi.ResourceArgs /// /// Directs Lex the order in which to elicit this slot value from the user. /// For example, if the intent has two slots with priorities 1 and 2, AWS Lex first elicits a value for - /// the slot with priority 1. + /// the slot with priority 1. If multiple slots share the same priority, the order in which Lex elicits + /// values is arbitrary. /// [Input("priority")] public Input? Priority { get; set; } diff --git a/sdk/dotnet/Lex/Intent.cs b/sdk/dotnet/Lex/Intent.cs index 7466c2f94ed..af40ffaa793 100644 --- a/sdk/dotnet/Lex/Intent.cs +++ b/sdk/dotnet/Lex/Intent.cs @@ -160,7 +160,10 @@ public partial class Intent : Pulumi.CustomResource /// /// The statement that you want Amazon Lex to convey to the user - /// after the intent is successfully fulfilled by the Lambda function. + /// after the intent is successfully fulfilled by the Lambda function. This element is relevant only if + /// you provide a Lambda function in the `fulfillment_activity`. If you return the intent to the client + /// application, you can't specify this element. The `follow_up_prompt` and `conclusion_statement` are + /// mutually exclusive. You can specify only one. Attributes are documented under statement. /// [Output("conclusionStatement")] public Output ConclusionStatement { get; private set; } = null!; @@ -175,7 +178,7 @@ public partial class Intent : Pulumi.CustomResource /// /// Determines if a new slot type version is created when the initial - /// resource is created and on each update. Defaults to true. + /// resource is created and on each update. Defaults to `false`. /// [Output("createVersion")] public Output CreateVersion { get; private set; } = null!; @@ -202,7 +205,8 @@ public partial class Intent : Pulumi.CustomResource /// /// Amazon Lex uses this prompt to solicit additional activity after /// fulfilling an intent. For example, after the OrderPizza intent is fulfilled, you might prompt the - /// user to order a drink. + /// user to order a drink. The `follow_up_prompt` field and the `conclusion_statement` field are mutually + /// exclusive. You can specify only one. Attributes are documented under follow_up_prompt. /// [Output("followUpPrompt")] public Output FollowUpPrompt { get; private set; } = null!; @@ -210,7 +214,7 @@ public partial class Intent : Pulumi.CustomResource /// /// Describes how the intent is fulfilled. For example, after a /// user provides all of the information for a pizza order, `fulfillment_activity` defines how the bot - /// places an order with a local pizza store. + /// places an order with a local pizza store. Attributes are documented under fulfillment_activity. /// [Output("fulfillmentActivity")] public Output FulfillmentActivity { get; private set; } = null!; @@ -237,9 +241,9 @@ public partial class Intent : Pulumi.CustomResource public Output ParentIntentSignature { get; private set; } = null!; /// - /// When the user answers "no" to the question defined in - /// `confirmation_prompt`, Amazon Lex responds with this statement to acknowledge that the intent was - /// canceled. + /// If the user answers "no" to the question defined in the prompt field, + /// Amazon Lex responds with this statement to acknowledge that the intent was canceled. Attributes are + /// documented below under statement. /// [Output("rejectionStatement")] public Output RejectionStatement { get; private set; } = null!; @@ -313,7 +317,10 @@ public sealed class IntentArgs : Pulumi.ResourceArgs { /// /// The statement that you want Amazon Lex to convey to the user - /// after the intent is successfully fulfilled by the Lambda function. + /// after the intent is successfully fulfilled by the Lambda function. This element is relevant only if + /// you provide a Lambda function in the `fulfillment_activity`. If you return the intent to the client + /// application, you can't specify this element. The `follow_up_prompt` and `conclusion_statement` are + /// mutually exclusive. You can specify only one. Attributes are documented under statement. /// [Input("conclusionStatement")] public Input? ConclusionStatement { get; set; } @@ -328,7 +335,7 @@ public sealed class IntentArgs : Pulumi.ResourceArgs /// /// Determines if a new slot type version is created when the initial - /// resource is created and on each update. Defaults to true. + /// resource is created and on each update. Defaults to `false`. /// [Input("createVersion")] public Input? CreateVersion { get; set; } @@ -349,7 +356,8 @@ public sealed class IntentArgs : Pulumi.ResourceArgs /// /// Amazon Lex uses this prompt to solicit additional activity after /// fulfilling an intent. For example, after the OrderPizza intent is fulfilled, you might prompt the - /// user to order a drink. + /// user to order a drink. The `follow_up_prompt` field and the `conclusion_statement` field are mutually + /// exclusive. You can specify only one. Attributes are documented under follow_up_prompt. /// [Input("followUpPrompt")] public Input? FollowUpPrompt { get; set; } @@ -357,7 +365,7 @@ public sealed class IntentArgs : Pulumi.ResourceArgs /// /// Describes how the intent is fulfilled. For example, after a /// user provides all of the information for a pizza order, `fulfillment_activity` defines how the bot - /// places an order with a local pizza store. + /// places an order with a local pizza store. Attributes are documented under fulfillment_activity. /// [Input("fulfillmentActivity", required: true)] public Input FulfillmentActivity { get; set; } = null!; @@ -378,9 +386,9 @@ public sealed class IntentArgs : Pulumi.ResourceArgs public Input? ParentIntentSignature { get; set; } /// - /// When the user answers "no" to the question defined in - /// `confirmation_prompt`, Amazon Lex responds with this statement to acknowledge that the intent was - /// canceled. + /// If the user answers "no" to the question defined in the prompt field, + /// Amazon Lex responds with this statement to acknowledge that the intent was canceled. Attributes are + /// documented below under statement. /// [Input("rejectionStatement")] public Input? RejectionStatement { get; set; } @@ -434,7 +442,10 @@ public sealed class IntentState : Pulumi.ResourceArgs /// /// The statement that you want Amazon Lex to convey to the user - /// after the intent is successfully fulfilled by the Lambda function. + /// after the intent is successfully fulfilled by the Lambda function. This element is relevant only if + /// you provide a Lambda function in the `fulfillment_activity`. If you return the intent to the client + /// application, you can't specify this element. The `follow_up_prompt` and `conclusion_statement` are + /// mutually exclusive. You can specify only one. Attributes are documented under statement. /// [Input("conclusionStatement")] public Input? ConclusionStatement { get; set; } @@ -449,7 +460,7 @@ public sealed class IntentState : Pulumi.ResourceArgs /// /// Determines if a new slot type version is created when the initial - /// resource is created and on each update. Defaults to true. + /// resource is created and on each update. Defaults to `false`. /// [Input("createVersion")] public Input? CreateVersion { get; set; } @@ -476,7 +487,8 @@ public sealed class IntentState : Pulumi.ResourceArgs /// /// Amazon Lex uses this prompt to solicit additional activity after /// fulfilling an intent. For example, after the OrderPizza intent is fulfilled, you might prompt the - /// user to order a drink. + /// user to order a drink. The `follow_up_prompt` field and the `conclusion_statement` field are mutually + /// exclusive. You can specify only one. Attributes are documented under follow_up_prompt. /// [Input("followUpPrompt")] public Input? FollowUpPrompt { get; set; } @@ -484,7 +496,7 @@ public sealed class IntentState : Pulumi.ResourceArgs /// /// Describes how the intent is fulfilled. For example, after a /// user provides all of the information for a pizza order, `fulfillment_activity` defines how the bot - /// places an order with a local pizza store. + /// places an order with a local pizza store. Attributes are documented under fulfillment_activity. /// [Input("fulfillmentActivity")] public Input? FulfillmentActivity { get; set; } @@ -511,9 +523,9 @@ public sealed class IntentState : Pulumi.ResourceArgs public Input? ParentIntentSignature { get; set; } /// - /// When the user answers "no" to the question defined in - /// `confirmation_prompt`, Amazon Lex responds with this statement to acknowledge that the intent was - /// canceled. + /// If the user answers "no" to the question defined in the prompt field, + /// Amazon Lex responds with this statement to acknowledge that the intent was canceled. Attributes are + /// documented below under statement. /// [Input("rejectionStatement")] public Input? RejectionStatement { get; set; } diff --git a/sdk/dotnet/Lex/Outputs/BotAliasConversationLogs.cs b/sdk/dotnet/Lex/Outputs/BotAliasConversationLogs.cs new file mode 100644 index 00000000000..5a0081aff35 --- /dev/null +++ b/sdk/dotnet/Lex/Outputs/BotAliasConversationLogs.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.Lex.Outputs +{ + + [OutputType] + public sealed class BotAliasConversationLogs + { + /// + /// The Amazon Resource Name (ARN) of the IAM role used to write your logs to CloudWatch Logs or an S3 bucket. + /// + public readonly string IamRoleArn; + /// + /// The settings for your conversation logs. You can log text, audio, or both. Attributes are documented under log_settings. + /// + public readonly ImmutableArray LogSettings; + + [OutputConstructor] + private BotAliasConversationLogs( + string iamRoleArn, + + ImmutableArray logSettings) + { + IamRoleArn = iamRoleArn; + LogSettings = logSettings; + } + } +} diff --git a/sdk/dotnet/Lex/Outputs/BotAliasConversationLogsLogSetting.cs b/sdk/dotnet/Lex/Outputs/BotAliasConversationLogsLogSetting.cs new file mode 100644 index 00000000000..f01f02b4086 --- /dev/null +++ b/sdk/dotnet/Lex/Outputs/BotAliasConversationLogsLogSetting.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.Lex.Outputs +{ + + [OutputType] + public sealed class BotAliasConversationLogsLogSetting + { + /// + /// The destination where logs are delivered. Options are `CLOUDWATCH_LOGS` or `S3`. + /// + public readonly string Destination; + /// + /// The Amazon Resource Name (ARN) of the key used to encrypt audio logs in an S3 bucket. This can only be specified when `destination` is set to `S3`. + /// + public readonly string? KmsKeyArn; + /// + /// The type of logging that is enabled. Options are `AUDIO` or `TEXT`. + /// + public readonly string LogType; + /// + /// The Amazon Resource Name (ARN) of the CloudWatch Logs log group or S3 bucket where the logs are delivered. + /// + public readonly string ResourceArn; + /// + /// The prefix of the S3 object key for `AUDIO` logs or the log stream name for `TEXT` logs. + /// + public readonly string? ResourcePrefix; + + [OutputConstructor] + private BotAliasConversationLogsLogSetting( + string destination, + + string? kmsKeyArn, + + string logType, + + string resourceArn, + + string? resourcePrefix) + { + Destination = destination; + KmsKeyArn = kmsKeyArn; + LogType = logType; + ResourceArn = resourceArn; + ResourcePrefix = resourcePrefix; + } + } +} diff --git a/sdk/dotnet/Lex/Outputs/IntentFollowUpPrompt.cs b/sdk/dotnet/Lex/Outputs/IntentFollowUpPrompt.cs index ff7bd0cea3b..738799d7a22 100644 --- a/sdk/dotnet/Lex/Outputs/IntentFollowUpPrompt.cs +++ b/sdk/dotnet/Lex/Outputs/IntentFollowUpPrompt.cs @@ -18,9 +18,9 @@ public sealed class IntentFollowUpPrompt /// public readonly Outputs.IntentFollowUpPromptPrompt Prompt; /// - /// When the user answers "no" to the question defined in - /// `confirmation_prompt`, Amazon Lex responds with this statement to acknowledge that the intent was - /// canceled. + /// If the user answers "no" to the question defined in the prompt field, + /// Amazon Lex responds with this statement to acknowledge that the intent was canceled. Attributes are + /// documented below under statement. /// public readonly Outputs.IntentFollowUpPromptRejectionStatement RejectionStatement; diff --git a/sdk/dotnet/Lex/Outputs/IntentSlot.cs b/sdk/dotnet/Lex/Outputs/IntentSlot.cs index 66e69a49d91..a5e89c54214 100644 --- a/sdk/dotnet/Lex/Outputs/IntentSlot.cs +++ b/sdk/dotnet/Lex/Outputs/IntentSlot.cs @@ -24,7 +24,8 @@ public sealed class IntentSlot /// /// Directs Lex the order in which to elicit this slot value from the user. /// For example, if the intent has two slots with priorities 1 and 2, AWS Lex first elicits a value for - /// the slot with priority 1. + /// the slot with priority 1. If multiple slots share the same priority, the order in which Lex elicits + /// values is arbitrary. /// public readonly int? Priority; /// diff --git a/sdk/dotnet/Lex/SlotType.cs b/sdk/dotnet/Lex/SlotType.cs index a8f37cfcf4a..b535a1f9a11 100644 --- a/sdk/dotnet/Lex/SlotType.cs +++ b/sdk/dotnet/Lex/SlotType.cs @@ -25,7 +25,7 @@ namespace Pulumi.Aws.Lex /// { /// var flowerTypes = new Aws.Lex.SlotType("flowerTypes", new Aws.Lex.SlotTypeArgs /// { - /// CreateVersion = false, + /// CreateVersion = true, /// Description = "Types of flowers to order", /// EnumerationValues = /// { @@ -66,7 +66,7 @@ public partial class SlotType : Pulumi.CustomResource /// /// Determines if a new slot type version is created when the initial resource is created and on each - /// update. Defaults to true. + /// update. Defaults to `false`. /// [Output("createVersion")] public Output CreateVersion { get; private set; } = null!; @@ -108,7 +108,7 @@ public partial class SlotType : Pulumi.CustomResource /// Determines the slot resolution strategy that Amazon Lex /// uses to return slot type values. `ORIGINAL_VALUE` returns the value entered by the user if the user /// value is similar to the slot value. `TOP_RESOLUTION` returns the first value in the resolution list - /// if there is a resolution list for the slot, otherwise null is returned. + /// if there is a resolution list for the slot, otherwise null is returned. Defaults to `ORIGINAL_VALUE`. /// [Output("valueSelectionStrategy")] public Output ValueSelectionStrategy { get; private set; } = null!; @@ -167,7 +167,7 @@ public sealed class SlotTypeArgs : Pulumi.ResourceArgs { /// /// Determines if a new slot type version is created when the initial resource is created and on each - /// update. Defaults to true. + /// update. Defaults to `false`. /// [Input("createVersion")] public Input? CreateVersion { get; set; } @@ -203,7 +203,7 @@ public InputList EnumerationValues /// Determines the slot resolution strategy that Amazon Lex /// uses to return slot type values. `ORIGINAL_VALUE` returns the value entered by the user if the user /// value is similar to the slot value. `TOP_RESOLUTION` returns the first value in the resolution list - /// if there is a resolution list for the slot, otherwise null is returned. + /// if there is a resolution list for the slot, otherwise null is returned. Defaults to `ORIGINAL_VALUE`. /// [Input("valueSelectionStrategy")] public Input? ValueSelectionStrategy { get; set; } @@ -224,7 +224,7 @@ public sealed class SlotTypeState : Pulumi.ResourceArgs /// /// Determines if a new slot type version is created when the initial resource is created and on each - /// update. Defaults to true. + /// update. Defaults to `false`. /// [Input("createVersion")] public Input? CreateVersion { get; set; } @@ -272,7 +272,7 @@ public InputList EnumerationValues /// Determines the slot resolution strategy that Amazon Lex /// uses to return slot type values. `ORIGINAL_VALUE` returns the value entered by the user if the user /// value is similar to the slot value. `TOP_RESOLUTION` returns the first value in the resolution list - /// if there is a resolution list for the slot, otherwise null is returned. + /// if there is a resolution list for the slot, otherwise null is returned. Defaults to `ORIGINAL_VALUE`. /// [Input("valueSelectionStrategy")] public Input? ValueSelectionStrategy { get; set; } diff --git a/sdk/dotnet/Msk/Cluster.cs b/sdk/dotnet/Msk/Cluster.cs index 710d1f8a9ff..22efdc01268 100644 --- a/sdk/dotnet/Msk/Cluster.cs +++ b/sdk/dotnet/Msk/Cluster.cs @@ -178,13 +178,13 @@ public partial class Cluster : Pulumi.CustomResource public Output Arn { get; private set; } = null!; /// - /// A comma separated list of one or more hostname:port pairs of kafka brokers suitable to boostrap connectivity to the kafka cluster. Only contains value if `client_broker` encryption in transit is set to `PLAINTEXT` or `TLS_PLAINTEXT`. + /// A comma separated list of one or more hostname:port pairs of kafka brokers suitable to bootstrap connectivity to the kafka cluster. Only contains value if `client_broker` encryption in transit is set to `PLAINTEXT` or `TLS_PLAINTEXT`. /// [Output("bootstrapBrokers")] public Output BootstrapBrokers { get; private set; } = null!; /// - /// A comma separated list of one or more DNS names (or IPs) and TLS port pairs kafka brokers suitable to boostrap connectivity to the kafka cluster. Only contains value if `client_broker` encryption in transit is set to `TLS_PLAINTEXT` or `TLS`. + /// A comma separated list of one or more DNS names (or IPs) and TLS port pairs kafka brokers suitable to bootstrap connectivity to the kafka cluster. Only contains value if `client_broker` encryption in transit is set to `TLS_PLAINTEXT` or `TLS`. /// [Output("bootstrapBrokersTls")] public Output BootstrapBrokersTls { get; private set; } = null!; @@ -400,13 +400,13 @@ public sealed class ClusterState : Pulumi.ResourceArgs public Input? Arn { get; set; } /// - /// A comma separated list of one or more hostname:port pairs of kafka brokers suitable to boostrap connectivity to the kafka cluster. Only contains value if `client_broker` encryption in transit is set to `PLAINTEXT` or `TLS_PLAINTEXT`. + /// A comma separated list of one or more hostname:port pairs of kafka brokers suitable to bootstrap connectivity to the kafka cluster. Only contains value if `client_broker` encryption in transit is set to `PLAINTEXT` or `TLS_PLAINTEXT`. /// [Input("bootstrapBrokers")] public Input? BootstrapBrokers { get; set; } /// - /// A comma separated list of one or more DNS names (or IPs) and TLS port pairs kafka brokers suitable to boostrap connectivity to the kafka cluster. Only contains value if `client_broker` encryption in transit is set to `TLS_PLAINTEXT` or `TLS`. + /// A comma separated list of one or more DNS names (or IPs) and TLS port pairs kafka brokers suitable to bootstrap connectivity to the kafka cluster. Only contains value if `client_broker` encryption in transit is set to `TLS_PLAINTEXT` or `TLS`. /// [Input("bootstrapBrokersTls")] public Input? BootstrapBrokersTls { get; set; } diff --git a/sdk/dotnet/Neptune/ClusterInstance.cs b/sdk/dotnet/Neptune/ClusterInstance.cs index 48b7e76fe62..7b9e49342dd 100644 --- a/sdk/dotnet/Neptune/ClusterInstance.cs +++ b/sdk/dotnet/Neptune/ClusterInstance.cs @@ -119,7 +119,7 @@ public partial class ClusterInstance : Pulumi.CustomResource public Output EngineVersion { get; private set; } = null!; /// - /// The indentifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. + /// The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. /// [Output("identifier")] public Output Identifier { get; private set; } = null!; @@ -287,7 +287,7 @@ public sealed class ClusterInstanceArgs : Pulumi.ResourceArgs public Input? EngineVersion { get; set; } /// - /// The indentifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. + /// The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. /// [Input("identifier")] public Input? Identifier { get; set; } @@ -428,7 +428,7 @@ public sealed class ClusterInstanceState : Pulumi.ResourceArgs public Input? EngineVersion { get; set; } /// - /// The indentifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. + /// The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. /// [Input("identifier")] public Input? Identifier { get; set; } diff --git a/sdk/dotnet/Outputs/ProviderEndpoint.cs b/sdk/dotnet/Outputs/ProviderEndpoint.cs index 6c244cd1a84..77065f86523 100644 --- a/sdk/dotnet/Outputs/ProviderEndpoint.cs +++ b/sdk/dotnet/Outputs/ProviderEndpoint.cs @@ -147,6 +147,7 @@ public sealed class ProviderEndpoint public readonly string? Sts; public readonly string? Swf; public readonly string? Synthetics; + public readonly string? Timestreamwrite; public readonly string? Transfer; public readonly string? Waf; public readonly string? Wafregional; @@ -426,6 +427,8 @@ private ProviderEndpoint( string? synthetics, + string? timestreamwrite, + string? transfer, string? waf, @@ -576,6 +579,7 @@ private ProviderEndpoint( Sts = sts; Swf = swf; Synthetics = synthetics; + Timestreamwrite = timestreamwrite; Transfer = transfer; Waf = waf; Wafregional = wafregional; diff --git a/sdk/dotnet/Rds/Proxy.cs b/sdk/dotnet/Rds/Proxy.cs index 8de26cad3c4..88d38dbdd97 100644 --- a/sdk/dotnet/Rds/Proxy.cs +++ b/sdk/dotnet/Rds/Proxy.cs @@ -128,7 +128,6 @@ public partial class Proxy : Pulumi.CustomResource /// /// One or more VPC subnet IDs to associate with the new proxy. - /// describe-db-parameters.html) after initial creation of the group. /// [Output("vpcSubnetIds")] public Output> VpcSubnetIds { get; private set; } = null!; @@ -256,7 +255,6 @@ public InputList VpcSecurityGroupIds /// /// One or more VPC subnet IDs to associate with the new proxy. - /// describe-db-parameters.html) after initial creation of the group. /// public InputList VpcSubnetIds { @@ -360,7 +358,6 @@ public InputList VpcSecurityGroupIds /// /// One or more VPC subnet IDs to associate with the new proxy. - /// describe-db-parameters.html) after initial creation of the group. /// public InputList VpcSubnetIds { diff --git a/sdk/dotnet/RedShift/GetOrderableCluster.cs b/sdk/dotnet/RedShift/GetOrderableCluster.cs new file mode 100644 index 00000000000..6bb84e6fc36 --- /dev/null +++ b/sdk/dotnet/RedShift/GetOrderableCluster.cs @@ -0,0 +1,126 @@ +// *** 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.RedShift +{ + public static class GetOrderableCluster + { + /// + /// Information about Redshift Orderable Clusters and valid parameter combinations. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// class MyStack : Stack + /// { + /// public MyStack() + /// { + /// var test = Output.Create(Aws.RedShift.GetOrderableCluster.InvokeAsync(new Aws.RedShift.GetOrderableClusterArgs + /// { + /// ClusterType = "multi-node", + /// PreferredNodeTypes = + /// { + /// "dc2.large", + /// "ds2.xlarge", + /// }, + /// })); + /// } + /// + /// } + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetOrderableClusterArgs? args = null, InvokeOptions? options = null) + => Pulumi.Deployment.Instance.InvokeAsync("aws:redshift/getOrderableCluster:getOrderableCluster", args ?? new GetOrderableClusterArgs(), options.WithVersion()); + } + + + public sealed class GetOrderableClusterArgs : Pulumi.InvokeArgs + { + /// + /// Reshift Cluster type. e.g. `multi-node` or `single-node` + /// + [Input("clusterType")] + public string? ClusterType { get; set; } + + /// + /// Redshift Cluster version. e.g. `1.0` + /// + [Input("clusterVersion")] + public string? ClusterVersion { get; set; } + + /// + /// Redshift Cluster node type. e.g. `dc2.8xlarge` + /// + [Input("nodeType")] + public string? NodeType { get; set; } + + [Input("preferredNodeTypes")] + private List? _preferredNodeTypes; + + /// + /// Ordered list of preferred Redshift Cluster node types. The first match in this list will be returned. If no preferred matches are found and the original search returned more than one result, an error is returned. + /// + public List PreferredNodeTypes + { + get => _preferredNodeTypes ?? (_preferredNodeTypes = new List()); + set => _preferredNodeTypes = value; + } + + public GetOrderableClusterArgs() + { + } + } + + + [OutputType] + public sealed class GetOrderableClusterResult + { + /// + /// List of Availability Zone names where the Redshit Cluster is available. + /// + public readonly ImmutableArray AvailabilityZones; + public readonly string ClusterType; + public readonly string ClusterVersion; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + public readonly string NodeType; + public readonly ImmutableArray PreferredNodeTypes; + + [OutputConstructor] + private GetOrderableClusterResult( + ImmutableArray availabilityZones, + + string clusterType, + + string clusterVersion, + + string id, + + string nodeType, + + ImmutableArray preferredNodeTypes) + { + AvailabilityZones = availabilityZones; + ClusterType = clusterType; + ClusterVersion = clusterVersion; + Id = id; + NodeType = nodeType; + PreferredNodeTypes = preferredNodeTypes; + } + } +} diff --git a/sdk/dotnet/S3/BucketObject.cs b/sdk/dotnet/S3/BucketObject.cs index 50e58b2fbc4..3ba336929e5 100644 --- a/sdk/dotnet/S3/BucketObject.cs +++ b/sdk/dotnet/S3/BucketObject.cs @@ -206,14 +206,8 @@ public partial class BucketObject : Pulumi.CustomResource [Output("key")] public Output Key { get; private set; } = null!; - /// - /// Specifies the AWS KMS Key ARN to use for object encryption. - /// This value is a fully qualified **ARN** of the KMS Key. If using `aws.kms.Key`, - /// use the exported `arn` attribute: - /// `kms_key_id = "${aws_kms_key.foo.arn}"` - /// [Output("kmsKeyId")] - public Output KmsKeyId { get; private set; } = null!; + public Output KmsKeyId { get; private set; } = null!; /// /// A 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). @@ -397,12 +391,6 @@ public sealed class BucketObjectArgs : Pulumi.ResourceArgs [Input("key")] public Input? Key { get; set; } - /// - /// Specifies the AWS KMS Key ARN to use for object encryption. - /// This value is a fully qualified **ARN** of the KMS Key. If using `aws.kms.Key`, - /// use the exported `arn` attribute: - /// `kms_key_id = "${aws_kms_key.foo.arn}"` - /// [Input("kmsKeyId")] public Input? KmsKeyId { get; set; } @@ -554,12 +542,6 @@ public sealed class BucketObjectState : Pulumi.ResourceArgs [Input("key")] public Input? Key { get; set; } - /// - /// Specifies the AWS KMS Key ARN to use for object encryption. - /// This value is a fully qualified **ARN** of the KMS Key. If using `aws.kms.Key`, - /// use the exported `arn` attribute: - /// `kms_key_id = "${aws_kms_key.foo.arn}"` - /// [Input("kmsKeyId")] public Input? KmsKeyId { get; set; } diff --git a/sdk/dotnet/S3/BucketOwnershipControls.cs b/sdk/dotnet/S3/BucketOwnershipControls.cs new file mode 100644 index 00000000000..91c7a15f7ec --- /dev/null +++ b/sdk/dotnet/S3/BucketOwnershipControls.cs @@ -0,0 +1,107 @@ +// *** 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.S3 +{ + public partial class BucketOwnershipControls : Pulumi.CustomResource + { + /// + /// The name of the bucket that you want to associate this access point with. + /// + [Output("bucket")] + public Output Bucket { get; private set; } = null!; + + /// + /// Configuration block(s) with Ownership Controls rules. Detailed below. + /// + [Output("rule")] + public Output Rule { get; private set; } = null!; + + + /// + /// Create a BucketOwnershipControls 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 BucketOwnershipControls(string name, BucketOwnershipControlsArgs args, CustomResourceOptions? options = null) + : base("aws:s3/bucketOwnershipControls:BucketOwnershipControls", name, args ?? new BucketOwnershipControlsArgs(), MakeResourceOptions(options, "")) + { + } + + private BucketOwnershipControls(string name, Input id, BucketOwnershipControlsState? state = null, CustomResourceOptions? options = null) + : base("aws:s3/bucketOwnershipControls:BucketOwnershipControls", 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 BucketOwnershipControls 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 BucketOwnershipControls Get(string name, Input id, BucketOwnershipControlsState? state = null, CustomResourceOptions? options = null) + { + return new BucketOwnershipControls(name, id, state, options); + } + } + + public sealed class BucketOwnershipControlsArgs : Pulumi.ResourceArgs + { + /// + /// The name of the bucket that you want to associate this access point with. + /// + [Input("bucket", required: true)] + public Input Bucket { get; set; } = null!; + + /// + /// Configuration block(s) with Ownership Controls rules. Detailed below. + /// + [Input("rule", required: true)] + public Input Rule { get; set; } = null!; + + public BucketOwnershipControlsArgs() + { + } + } + + public sealed class BucketOwnershipControlsState : Pulumi.ResourceArgs + { + /// + /// The name of the bucket that you want to associate this access point with. + /// + [Input("bucket")] + public Input? Bucket { get; set; } + + /// + /// Configuration block(s) with Ownership Controls rules. Detailed below. + /// + [Input("rule")] + public Input? Rule { get; set; } + + public BucketOwnershipControlsState() + { + } + } +} diff --git a/sdk/dotnet/S3/Inputs/BucketOwnershipControlsRuleArgs.cs b/sdk/dotnet/S3/Inputs/BucketOwnershipControlsRuleArgs.cs new file mode 100644 index 00000000000..f67a6b75e2a --- /dev/null +++ b/sdk/dotnet/S3/Inputs/BucketOwnershipControlsRuleArgs.cs @@ -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! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.S3.Inputs +{ + + public sealed class BucketOwnershipControlsRuleArgs : Pulumi.ResourceArgs + { + /// + /// Object ownership. Valid values: `BucketOwnerPreferred` or `ObjectWriter` + /// + [Input("objectOwnership", required: true)] + public Input ObjectOwnership { get; set; } = null!; + + public BucketOwnershipControlsRuleArgs() + { + } + } +} diff --git a/sdk/dotnet/S3/Inputs/BucketOwnershipControlsRuleGetArgs.cs b/sdk/dotnet/S3/Inputs/BucketOwnershipControlsRuleGetArgs.cs new file mode 100644 index 00000000000..ab114943650 --- /dev/null +++ b/sdk/dotnet/S3/Inputs/BucketOwnershipControlsRuleGetArgs.cs @@ -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! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.S3.Inputs +{ + + public sealed class BucketOwnershipControlsRuleGetArgs : Pulumi.ResourceArgs + { + /// + /// Object ownership. Valid values: `BucketOwnerPreferred` or `ObjectWriter` + /// + [Input("objectOwnership", required: true)] + public Input ObjectOwnership { get; set; } = null!; + + public BucketOwnershipControlsRuleGetArgs() + { + } + } +} diff --git a/sdk/dotnet/S3/Outputs/BucketOwnershipControlsRule.cs b/sdk/dotnet/S3/Outputs/BucketOwnershipControlsRule.cs new file mode 100644 index 00000000000..c48d2811e73 --- /dev/null +++ b/sdk/dotnet/S3/Outputs/BucketOwnershipControlsRule.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.S3.Outputs +{ + + [OutputType] + public sealed class BucketOwnershipControlsRule + { + /// + /// Object ownership. Valid values: `BucketOwnerPreferred` or `ObjectWriter` + /// + public readonly string ObjectOwnership; + + [OutputConstructor] + private BucketOwnershipControlsRule(string objectOwnership) + { + ObjectOwnership = objectOwnership; + } + } +} diff --git a/sdk/dotnet/Sns/GetTopic.cs b/sdk/dotnet/Sns/GetTopic.cs index 55961b1a198..da7ecdb3eb6 100644 --- a/sdk/dotnet/Sns/GetTopic.cs +++ b/sdk/dotnet/Sns/GetTopic.cs @@ -62,7 +62,7 @@ public GetTopicArgs() public sealed class GetTopicResult { /// - /// Set to the ARN of the found topic, suitable for referencing in other resources that support SNS topics. + /// Amazon Resource Name (ARN) of the found topic, suitable for referencing in other resources that support SNS topics. /// public readonly string Arn; /// diff --git a/sdk/go/aws/acm/getCertificate.go b/sdk/go/aws/acm/getCertificate.go index 16364f1b369..85ca14268f0 100644 --- a/sdk/go/aws/acm/getCertificate.go +++ b/sdk/go/aws/acm/getCertificate.go @@ -85,7 +85,7 @@ type LookupCertificateArgs struct { // A collection of values returned by getCertificate. type LookupCertificateResult struct { - // Set to the ARN of the found certificate, suitable for referencing in other resources that support ACM certificates. + // Amazon Resource Name (ARN) of the found certificate, suitable for referencing in other resources that support ACM certificates. Arn string `pulumi:"arn"` Domain string `pulumi:"domain"` // The provider-assigned unique ID for this managed resource. diff --git a/sdk/go/aws/alb/pulumiTypes.go b/sdk/go/aws/alb/pulumiTypes.go index 2a11f1a3f70..8d2870c0738 100644 --- a/sdk/go/aws/alb/pulumiTypes.go +++ b/sdk/go/aws/alb/pulumiTypes.go @@ -4594,11 +4594,11 @@ func (o TargetGroupHealthCheckPtrOutput) UnhealthyThreshold() pulumi.IntPtrOutpu } type TargetGroupStickiness struct { - // The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + // Only used when the type is `lbCookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). CookieDuration *int `pulumi:"cookieDuration"` // Indicates whether health checks are enabled. Defaults to true. Enabled *bool `pulumi:"enabled"` - // The type of sticky sessions. The only current possible value is `lbCookie`. + // The type of sticky sessions. The only current possible values are `lbCookie` for ALBs and `sourceIp` for NLBs. Type string `pulumi:"type"` } @@ -4614,11 +4614,11 @@ type TargetGroupStickinessInput interface { } type TargetGroupStickinessArgs struct { - // The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + // Only used when the type is `lbCookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). CookieDuration pulumi.IntPtrInput `pulumi:"cookieDuration"` // Indicates whether health checks are enabled. Defaults to true. Enabled pulumi.BoolPtrInput `pulumi:"enabled"` - // The type of sticky sessions. The only current possible value is `lbCookie`. + // The type of sticky sessions. The only current possible values are `lbCookie` for ALBs and `sourceIp` for NLBs. Type pulumi.StringInput `pulumi:"type"` } @@ -4699,7 +4699,7 @@ func (o TargetGroupStickinessOutput) ToTargetGroupStickinessPtrOutputWithContext }).(TargetGroupStickinessPtrOutput) } -// The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). +// Only used when the type is `lbCookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). func (o TargetGroupStickinessOutput) CookieDuration() pulumi.IntPtrOutput { return o.ApplyT(func(v TargetGroupStickiness) *int { return v.CookieDuration }).(pulumi.IntPtrOutput) } @@ -4709,7 +4709,7 @@ func (o TargetGroupStickinessOutput) Enabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v TargetGroupStickiness) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) } -// The type of sticky sessions. The only current possible value is `lbCookie`. +// The type of sticky sessions. The only current possible values are `lbCookie` for ALBs and `sourceIp` for NLBs. func (o TargetGroupStickinessOutput) Type() pulumi.StringOutput { return o.ApplyT(func(v TargetGroupStickiness) string { return v.Type }).(pulumi.StringOutput) } @@ -4732,7 +4732,7 @@ func (o TargetGroupStickinessPtrOutput) Elem() TargetGroupStickinessOutput { return o.ApplyT(func(v *TargetGroupStickiness) TargetGroupStickiness { return *v }).(TargetGroupStickinessOutput) } -// The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). +// Only used when the type is `lbCookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). func (o TargetGroupStickinessPtrOutput) CookieDuration() pulumi.IntPtrOutput { return o.ApplyT(func(v *TargetGroupStickiness) *int { if v == nil { @@ -4752,7 +4752,7 @@ func (o TargetGroupStickinessPtrOutput) Enabled() pulumi.BoolPtrOutput { }).(pulumi.BoolPtrOutput) } -// The type of sticky sessions. The only current possible value is `lbCookie`. +// The type of sticky sessions. The only current possible values are `lbCookie` for ALBs and `sourceIp` for NLBs. func (o TargetGroupStickinessPtrOutput) Type() pulumi.StringPtrOutput { return o.ApplyT(func(v *TargetGroupStickiness) *string { if v == nil { diff --git a/sdk/go/aws/alb/targetGroup.go b/sdk/go/aws/alb/targetGroup.go index 93c0fa0b19b..0e6d47600df 100644 --- a/sdk/go/aws/alb/targetGroup.go +++ b/sdk/go/aws/alb/targetGroup.go @@ -126,7 +126,7 @@ type TargetGroup struct { ProxyProtocolV2 pulumi.BoolPtrOutput `pulumi:"proxyProtocolV2"` // The amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds. SlowStart pulumi.IntPtrOutput `pulumi:"slowStart"` - // A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + // A Stickiness block. Stickiness blocks are documented below. Stickiness TargetGroupStickinessOutput `pulumi:"stickiness"` // A map of tags to assign to the resource. Tags pulumi.StringMapOutput `pulumi:"tags"` @@ -199,7 +199,7 @@ type targetGroupState struct { ProxyProtocolV2 *bool `pulumi:"proxyProtocolV2"` // The amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds. SlowStart *int `pulumi:"slowStart"` - // A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + // A Stickiness block. Stickiness blocks are documented below. Stickiness *TargetGroupStickiness `pulumi:"stickiness"` // A map of tags to assign to the resource. Tags map[string]string `pulumi:"tags"` @@ -239,7 +239,7 @@ type TargetGroupState struct { ProxyProtocolV2 pulumi.BoolPtrInput // The amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds. SlowStart pulumi.IntPtrInput - // A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + // A Stickiness block. Stickiness blocks are documented below. Stickiness TargetGroupStickinessPtrInput // A map of tags to assign to the resource. Tags pulumi.StringMapInput @@ -279,7 +279,7 @@ type targetGroupArgs struct { ProxyProtocolV2 *bool `pulumi:"proxyProtocolV2"` // The amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds. SlowStart *int `pulumi:"slowStart"` - // A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + // A Stickiness block. Stickiness blocks are documented below. Stickiness *TargetGroupStickiness `pulumi:"stickiness"` // A map of tags to assign to the resource. Tags map[string]string `pulumi:"tags"` @@ -316,7 +316,7 @@ type TargetGroupArgs struct { ProxyProtocolV2 pulumi.BoolPtrInput // The amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds. SlowStart pulumi.IntPtrInput - // A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + // A Stickiness block. Stickiness blocks are documented below. Stickiness TargetGroupStickinessPtrInput // A map of tags to assign to the resource. Tags pulumi.StringMapInput diff --git a/sdk/go/aws/apigateway/usagePlan.go b/sdk/go/aws/apigateway/usagePlan.go index b653282426e..30bef4629dd 100644 --- a/sdk/go/aws/apigateway/usagePlan.go +++ b/sdk/go/aws/apigateway/usagePlan.go @@ -82,7 +82,7 @@ type UsagePlan struct { Description pulumi.StringPtrOutput `pulumi:"description"` // The name of the usage plan. Name pulumi.StringOutput `pulumi:"name"` - // The AWS Markeplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace. + // The AWS Marketplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace. ProductCode pulumi.StringPtrOutput `pulumi:"productCode"` // The quota settings of the usage plan. QuotaSettings UsagePlanQuotaSettingsPtrOutput `pulumi:"quotaSettings"` @@ -128,7 +128,7 @@ type usagePlanState struct { Description *string `pulumi:"description"` // The name of the usage plan. Name *string `pulumi:"name"` - // The AWS Markeplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace. + // The AWS Marketplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace. ProductCode *string `pulumi:"productCode"` // The quota settings of the usage plan. QuotaSettings *UsagePlanQuotaSettings `pulumi:"quotaSettings"` @@ -147,7 +147,7 @@ type UsagePlanState struct { Description pulumi.StringPtrInput // The name of the usage plan. Name pulumi.StringPtrInput - // The AWS Markeplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace. + // The AWS Marketplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace. ProductCode pulumi.StringPtrInput // The quota settings of the usage plan. QuotaSettings UsagePlanQuotaSettingsPtrInput @@ -168,7 +168,7 @@ type usagePlanArgs struct { Description *string `pulumi:"description"` // The name of the usage plan. Name *string `pulumi:"name"` - // The AWS Markeplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace. + // The AWS Marketplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace. ProductCode *string `pulumi:"productCode"` // The quota settings of the usage plan. QuotaSettings *UsagePlanQuotaSettings `pulumi:"quotaSettings"` @@ -186,7 +186,7 @@ type UsagePlanArgs struct { Description pulumi.StringPtrInput // The name of the usage plan. Name pulumi.StringPtrInput - // The AWS Markeplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace. + // The AWS Marketplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace. ProductCode pulumi.StringPtrInput // The quota settings of the usage plan. QuotaSettings UsagePlanQuotaSettingsPtrInput diff --git a/sdk/go/aws/applicationloadbalancing/pulumiTypes.go b/sdk/go/aws/applicationloadbalancing/pulumiTypes.go index 14d833a69e3..a61b7a6f783 100644 --- a/sdk/go/aws/applicationloadbalancing/pulumiTypes.go +++ b/sdk/go/aws/applicationloadbalancing/pulumiTypes.go @@ -4594,11 +4594,11 @@ func (o TargetGroupHealthCheckPtrOutput) UnhealthyThreshold() pulumi.IntPtrOutpu } type TargetGroupStickiness struct { - // The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + // Only used when the type is `lbCookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). CookieDuration *int `pulumi:"cookieDuration"` // Indicates whether health checks are enabled. Defaults to true. Enabled *bool `pulumi:"enabled"` - // The type of sticky sessions. The only current possible value is `lbCookie`. + // The type of sticky sessions. The only current possible values are `lbCookie` for ALBs and `sourceIp` for NLBs. Type string `pulumi:"type"` } @@ -4614,11 +4614,11 @@ type TargetGroupStickinessInput interface { } type TargetGroupStickinessArgs struct { - // The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + // Only used when the type is `lbCookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). CookieDuration pulumi.IntPtrInput `pulumi:"cookieDuration"` // Indicates whether health checks are enabled. Defaults to true. Enabled pulumi.BoolPtrInput `pulumi:"enabled"` - // The type of sticky sessions. The only current possible value is `lbCookie`. + // The type of sticky sessions. The only current possible values are `lbCookie` for ALBs and `sourceIp` for NLBs. Type pulumi.StringInput `pulumi:"type"` } @@ -4699,7 +4699,7 @@ func (o TargetGroupStickinessOutput) ToTargetGroupStickinessPtrOutputWithContext }).(TargetGroupStickinessPtrOutput) } -// The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). +// Only used when the type is `lbCookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). func (o TargetGroupStickinessOutput) CookieDuration() pulumi.IntPtrOutput { return o.ApplyT(func(v TargetGroupStickiness) *int { return v.CookieDuration }).(pulumi.IntPtrOutput) } @@ -4709,7 +4709,7 @@ func (o TargetGroupStickinessOutput) Enabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v TargetGroupStickiness) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) } -// The type of sticky sessions. The only current possible value is `lbCookie`. +// The type of sticky sessions. The only current possible values are `lbCookie` for ALBs and `sourceIp` for NLBs. func (o TargetGroupStickinessOutput) Type() pulumi.StringOutput { return o.ApplyT(func(v TargetGroupStickiness) string { return v.Type }).(pulumi.StringOutput) } @@ -4732,7 +4732,7 @@ func (o TargetGroupStickinessPtrOutput) Elem() TargetGroupStickinessOutput { return o.ApplyT(func(v *TargetGroupStickiness) TargetGroupStickiness { return *v }).(TargetGroupStickinessOutput) } -// The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). +// Only used when the type is `lbCookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). func (o TargetGroupStickinessPtrOutput) CookieDuration() pulumi.IntPtrOutput { return o.ApplyT(func(v *TargetGroupStickiness) *int { if v == nil { @@ -4752,7 +4752,7 @@ func (o TargetGroupStickinessPtrOutput) Enabled() pulumi.BoolPtrOutput { }).(pulumi.BoolPtrOutput) } -// The type of sticky sessions. The only current possible value is `lbCookie`. +// The type of sticky sessions. The only current possible values are `lbCookie` for ALBs and `sourceIp` for NLBs. func (o TargetGroupStickinessPtrOutput) Type() pulumi.StringPtrOutput { return o.ApplyT(func(v *TargetGroupStickiness) *string { if v == nil { diff --git a/sdk/go/aws/applicationloadbalancing/targetGroup.go b/sdk/go/aws/applicationloadbalancing/targetGroup.go index a9e67c834bb..4784bec7395 100644 --- a/sdk/go/aws/applicationloadbalancing/targetGroup.go +++ b/sdk/go/aws/applicationloadbalancing/targetGroup.go @@ -128,7 +128,7 @@ type TargetGroup struct { ProxyProtocolV2 pulumi.BoolPtrOutput `pulumi:"proxyProtocolV2"` // The amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds. SlowStart pulumi.IntPtrOutput `pulumi:"slowStart"` - // A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + // A Stickiness block. Stickiness blocks are documented below. Stickiness TargetGroupStickinessOutput `pulumi:"stickiness"` // A map of tags to assign to the resource. Tags pulumi.StringMapOutput `pulumi:"tags"` @@ -195,7 +195,7 @@ type targetGroupState struct { ProxyProtocolV2 *bool `pulumi:"proxyProtocolV2"` // The amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds. SlowStart *int `pulumi:"slowStart"` - // A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + // A Stickiness block. Stickiness blocks are documented below. Stickiness *TargetGroupStickiness `pulumi:"stickiness"` // A map of tags to assign to the resource. Tags map[string]string `pulumi:"tags"` @@ -235,7 +235,7 @@ type TargetGroupState struct { ProxyProtocolV2 pulumi.BoolPtrInput // The amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds. SlowStart pulumi.IntPtrInput - // A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + // A Stickiness block. Stickiness blocks are documented below. Stickiness TargetGroupStickinessPtrInput // A map of tags to assign to the resource. Tags pulumi.StringMapInput @@ -275,7 +275,7 @@ type targetGroupArgs struct { ProxyProtocolV2 *bool `pulumi:"proxyProtocolV2"` // The amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds. SlowStart *int `pulumi:"slowStart"` - // A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + // A Stickiness block. Stickiness blocks are documented below. Stickiness *TargetGroupStickiness `pulumi:"stickiness"` // A map of tags to assign to the resource. Tags map[string]string `pulumi:"tags"` @@ -312,7 +312,7 @@ type TargetGroupArgs struct { ProxyProtocolV2 pulumi.BoolPtrInput // The amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds. SlowStart pulumi.IntPtrInput - // A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + // A Stickiness block. Stickiness blocks are documented below. Stickiness TargetGroupStickinessPtrInput // A map of tags to assign to the resource. Tags pulumi.StringMapInput diff --git a/sdk/go/aws/appmesh/pulumiTypes.go b/sdk/go/aws/appmesh/pulumiTypes.go index 8dd547ba5cc..c0fbe62bd51 100644 --- a/sdk/go/aws/appmesh/pulumiTypes.go +++ b/sdk/go/aws/appmesh/pulumiTypes.go @@ -494,6 +494,8 @@ type RouteSpecGrpcRoute struct { Match RouteSpecGrpcRouteMatch `pulumi:"match"` // The retry policy. RetryPolicy *RouteSpecGrpcRouteRetryPolicy `pulumi:"retryPolicy"` + // The types of timeouts. + Timeout *RouteSpecGrpcRouteTimeout `pulumi:"timeout"` } // RouteSpecGrpcRouteInput is an input type that accepts RouteSpecGrpcRouteArgs and RouteSpecGrpcRouteOutput values. @@ -514,6 +516,8 @@ type RouteSpecGrpcRouteArgs struct { Match RouteSpecGrpcRouteMatchInput `pulumi:"match"` // The retry policy. RetryPolicy RouteSpecGrpcRouteRetryPolicyPtrInput `pulumi:"retryPolicy"` + // The types of timeouts. + Timeout RouteSpecGrpcRouteTimeoutPtrInput `pulumi:"timeout"` } func (RouteSpecGrpcRouteArgs) ElementType() reflect.Type { @@ -608,6 +612,11 @@ func (o RouteSpecGrpcRouteOutput) RetryPolicy() RouteSpecGrpcRouteRetryPolicyPtr return o.ApplyT(func(v RouteSpecGrpcRoute) *RouteSpecGrpcRouteRetryPolicy { return v.RetryPolicy }).(RouteSpecGrpcRouteRetryPolicyPtrOutput) } +// The types of timeouts. +func (o RouteSpecGrpcRouteOutput) Timeout() RouteSpecGrpcRouteTimeoutPtrOutput { + return o.ApplyT(func(v RouteSpecGrpcRoute) *RouteSpecGrpcRouteTimeout { return v.Timeout }).(RouteSpecGrpcRouteTimeoutPtrOutput) +} + type RouteSpecGrpcRoutePtrOutput struct{ *pulumi.OutputState } func (RouteSpecGrpcRoutePtrOutput) ElementType() reflect.Type { @@ -656,6 +665,16 @@ func (o RouteSpecGrpcRoutePtrOutput) RetryPolicy() RouteSpecGrpcRouteRetryPolicy }).(RouteSpecGrpcRouteRetryPolicyPtrOutput) } +// The types of timeouts. +func (o RouteSpecGrpcRoutePtrOutput) Timeout() RouteSpecGrpcRouteTimeoutPtrOutput { + return o.ApplyT(func(v *RouteSpecGrpcRoute) *RouteSpecGrpcRouteTimeout { + if v == nil { + return nil + } + return v.Timeout + }).(RouteSpecGrpcRouteTimeoutPtrOutput) +} + type RouteSpecGrpcRouteAction struct { // The 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. @@ -902,6 +921,9 @@ type RouteSpecGrpcRouteMatch struct { Metadatas []RouteSpecGrpcRouteMatchMetadata `pulumi:"metadatas"` // The method name to match from the request. If you specify a name, you must also specify a `serviceName`. MethodName *string `pulumi:"methodName"` + // The value sent by the client must begin with the specified characters. + // This parameter must always start with /, which by itself matches all requests to the virtual router service name. + Prefix *string `pulumi:"prefix"` // The fully qualified domain name for the service to match from the request. ServiceName *string `pulumi:"serviceName"` } @@ -922,6 +944,9 @@ type RouteSpecGrpcRouteMatchArgs struct { Metadatas RouteSpecGrpcRouteMatchMetadataArrayInput `pulumi:"metadatas"` // The method name to match from the request. If you specify a name, you must also specify a `serviceName`. MethodName pulumi.StringPtrInput `pulumi:"methodName"` + // The value sent by the client must begin with the specified characters. + // This parameter must always start with /, which by itself matches all requests to the virtual router service name. + Prefix pulumi.StringPtrInput `pulumi:"prefix"` // The fully qualified domain name for the service to match from the request. ServiceName pulumi.StringPtrInput `pulumi:"serviceName"` } @@ -1013,6 +1038,12 @@ func (o RouteSpecGrpcRouteMatchOutput) MethodName() pulumi.StringPtrOutput { return o.ApplyT(func(v RouteSpecGrpcRouteMatch) *string { return v.MethodName }).(pulumi.StringPtrOutput) } +// The value sent by the client must begin with the specified characters. +// 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) +} + // The 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) @@ -1056,6 +1087,17 @@ func (o RouteSpecGrpcRouteMatchPtrOutput) MethodName() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +// The value sent by the client must begin with the specified characters. +// 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) +} + // The 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 { @@ -1919,6024 +1961,9562 @@ func (o RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput) Value() pulumi.In }).(pulumi.IntPtrOutput) } -type RouteSpecHttp2Route struct { - // The action to take if a match is determined. - Action RouteSpecHttp2RouteAction `pulumi:"action"` - // The criteria for determining an gRPC request match. - Match RouteSpecHttp2RouteMatch `pulumi:"match"` - // The retry policy. - RetryPolicy *RouteSpecHttp2RouteRetryPolicy `pulumi:"retryPolicy"` +type RouteSpecGrpcRouteTimeout struct { + // The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + Idle *RouteSpecGrpcRouteTimeoutIdle `pulumi:"idle"` + // The per request timeout. + PerRequest *RouteSpecGrpcRouteTimeoutPerRequest `pulumi:"perRequest"` } -// RouteSpecHttp2RouteInput is an input type that accepts RouteSpecHttp2RouteArgs and RouteSpecHttp2RouteOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteInput` via: +// RouteSpecGrpcRouteTimeoutInput is an input type that accepts RouteSpecGrpcRouteTimeoutArgs and RouteSpecGrpcRouteTimeoutOutput values. +// You can construct a concrete instance of `RouteSpecGrpcRouteTimeoutInput` via: // -// RouteSpecHttp2RouteArgs{...} -type RouteSpecHttp2RouteInput interface { +// RouteSpecGrpcRouteTimeoutArgs{...} +type RouteSpecGrpcRouteTimeoutInput interface { pulumi.Input - ToRouteSpecHttp2RouteOutput() RouteSpecHttp2RouteOutput - ToRouteSpecHttp2RouteOutputWithContext(context.Context) RouteSpecHttp2RouteOutput + ToRouteSpecGrpcRouteTimeoutOutput() RouteSpecGrpcRouteTimeoutOutput + ToRouteSpecGrpcRouteTimeoutOutputWithContext(context.Context) RouteSpecGrpcRouteTimeoutOutput } -type RouteSpecHttp2RouteArgs struct { - // The action to take if a match is determined. - Action RouteSpecHttp2RouteActionInput `pulumi:"action"` - // The criteria for determining an gRPC request match. - Match RouteSpecHttp2RouteMatchInput `pulumi:"match"` - // The retry policy. - RetryPolicy RouteSpecHttp2RouteRetryPolicyPtrInput `pulumi:"retryPolicy"` +type RouteSpecGrpcRouteTimeoutArgs struct { + // The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + Idle RouteSpecGrpcRouteTimeoutIdlePtrInput `pulumi:"idle"` + // The per request timeout. + PerRequest RouteSpecGrpcRouteTimeoutPerRequestPtrInput `pulumi:"perRequest"` } -func (RouteSpecHttp2RouteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2Route)(nil)).Elem() +func (RouteSpecGrpcRouteTimeoutArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecGrpcRouteTimeout)(nil)).Elem() } -func (i RouteSpecHttp2RouteArgs) ToRouteSpecHttp2RouteOutput() RouteSpecHttp2RouteOutput { - return i.ToRouteSpecHttp2RouteOutputWithContext(context.Background()) +func (i RouteSpecGrpcRouteTimeoutArgs) ToRouteSpecGrpcRouteTimeoutOutput() RouteSpecGrpcRouteTimeoutOutput { + return i.ToRouteSpecGrpcRouteTimeoutOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteArgs) ToRouteSpecHttp2RouteOutputWithContext(ctx context.Context) RouteSpecHttp2RouteOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteOutput) +func (i RouteSpecGrpcRouteTimeoutArgs) ToRouteSpecGrpcRouteTimeoutOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteTimeoutOutput) } -func (i RouteSpecHttp2RouteArgs) ToRouteSpecHttp2RoutePtrOutput() RouteSpecHttp2RoutePtrOutput { - return i.ToRouteSpecHttp2RoutePtrOutputWithContext(context.Background()) +func (i RouteSpecGrpcRouteTimeoutArgs) ToRouteSpecGrpcRouteTimeoutPtrOutput() RouteSpecGrpcRouteTimeoutPtrOutput { + return i.ToRouteSpecGrpcRouteTimeoutPtrOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteArgs) ToRouteSpecHttp2RoutePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RoutePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteOutput).ToRouteSpecHttp2RoutePtrOutputWithContext(ctx) +func (i RouteSpecGrpcRouteTimeoutArgs) ToRouteSpecGrpcRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteTimeoutOutput).ToRouteSpecGrpcRouteTimeoutPtrOutputWithContext(ctx) } -// RouteSpecHttp2RoutePtrInput is an input type that accepts RouteSpecHttp2RouteArgs, RouteSpecHttp2RoutePtr and RouteSpecHttp2RoutePtrOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RoutePtrInput` via: +// RouteSpecGrpcRouteTimeoutPtrInput is an input type that accepts RouteSpecGrpcRouteTimeoutArgs, RouteSpecGrpcRouteTimeoutPtr and RouteSpecGrpcRouteTimeoutPtrOutput values. +// You can construct a concrete instance of `RouteSpecGrpcRouteTimeoutPtrInput` via: // -// RouteSpecHttp2RouteArgs{...} +// RouteSpecGrpcRouteTimeoutArgs{...} // // or: // // nil -type RouteSpecHttp2RoutePtrInput interface { +type RouteSpecGrpcRouteTimeoutPtrInput interface { pulumi.Input - ToRouteSpecHttp2RoutePtrOutput() RouteSpecHttp2RoutePtrOutput - ToRouteSpecHttp2RoutePtrOutputWithContext(context.Context) RouteSpecHttp2RoutePtrOutput + ToRouteSpecGrpcRouteTimeoutPtrOutput() RouteSpecGrpcRouteTimeoutPtrOutput + ToRouteSpecGrpcRouteTimeoutPtrOutputWithContext(context.Context) RouteSpecGrpcRouteTimeoutPtrOutput } -type routeSpecHttp2RoutePtrType RouteSpecHttp2RouteArgs +type routeSpecGrpcRouteTimeoutPtrType RouteSpecGrpcRouteTimeoutArgs -func RouteSpecHttp2RoutePtr(v *RouteSpecHttp2RouteArgs) RouteSpecHttp2RoutePtrInput { - return (*routeSpecHttp2RoutePtrType)(v) +func RouteSpecGrpcRouteTimeoutPtr(v *RouteSpecGrpcRouteTimeoutArgs) RouteSpecGrpcRouteTimeoutPtrInput { + return (*routeSpecGrpcRouteTimeoutPtrType)(v) } -func (*routeSpecHttp2RoutePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2Route)(nil)).Elem() +func (*routeSpecGrpcRouteTimeoutPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecGrpcRouteTimeout)(nil)).Elem() } -func (i *routeSpecHttp2RoutePtrType) ToRouteSpecHttp2RoutePtrOutput() RouteSpecHttp2RoutePtrOutput { - return i.ToRouteSpecHttp2RoutePtrOutputWithContext(context.Background()) +func (i *routeSpecGrpcRouteTimeoutPtrType) ToRouteSpecGrpcRouteTimeoutPtrOutput() RouteSpecGrpcRouteTimeoutPtrOutput { + return i.ToRouteSpecGrpcRouteTimeoutPtrOutputWithContext(context.Background()) } -func (i *routeSpecHttp2RoutePtrType) ToRouteSpecHttp2RoutePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RoutePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RoutePtrOutput) +func (i *routeSpecGrpcRouteTimeoutPtrType) ToRouteSpecGrpcRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteTimeoutPtrOutput) } -type RouteSpecHttp2RouteOutput struct{ *pulumi.OutputState } +type RouteSpecGrpcRouteTimeoutOutput struct{ *pulumi.OutputState } -func (RouteSpecHttp2RouteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2Route)(nil)).Elem() +func (RouteSpecGrpcRouteTimeoutOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecGrpcRouteTimeout)(nil)).Elem() } -func (o RouteSpecHttp2RouteOutput) ToRouteSpecHttp2RouteOutput() RouteSpecHttp2RouteOutput { +func (o RouteSpecGrpcRouteTimeoutOutput) ToRouteSpecGrpcRouteTimeoutOutput() RouteSpecGrpcRouteTimeoutOutput { return o } -func (o RouteSpecHttp2RouteOutput) ToRouteSpecHttp2RouteOutputWithContext(ctx context.Context) RouteSpecHttp2RouteOutput { +func (o RouteSpecGrpcRouteTimeoutOutput) ToRouteSpecGrpcRouteTimeoutOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutOutput { return o } -func (o RouteSpecHttp2RouteOutput) ToRouteSpecHttp2RoutePtrOutput() RouteSpecHttp2RoutePtrOutput { - return o.ToRouteSpecHttp2RoutePtrOutputWithContext(context.Background()) +func (o RouteSpecGrpcRouteTimeoutOutput) ToRouteSpecGrpcRouteTimeoutPtrOutput() RouteSpecGrpcRouteTimeoutPtrOutput { + return o.ToRouteSpecGrpcRouteTimeoutPtrOutputWithContext(context.Background()) } -func (o RouteSpecHttp2RouteOutput) ToRouteSpecHttp2RoutePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RoutePtrOutput { - return o.ApplyT(func(v RouteSpecHttp2Route) *RouteSpecHttp2Route { +func (o RouteSpecGrpcRouteTimeoutOutput) ToRouteSpecGrpcRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutPtrOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteTimeout) *RouteSpecGrpcRouteTimeout { return &v - }).(RouteSpecHttp2RoutePtrOutput) -} - -// The action to take if a match is determined. -func (o RouteSpecHttp2RouteOutput) Action() RouteSpecHttp2RouteActionOutput { - return o.ApplyT(func(v RouteSpecHttp2Route) RouteSpecHttp2RouteAction { return v.Action }).(RouteSpecHttp2RouteActionOutput) + }).(RouteSpecGrpcRouteTimeoutPtrOutput) } -// The criteria for determining an gRPC request match. -func (o RouteSpecHttp2RouteOutput) Match() RouteSpecHttp2RouteMatchOutput { - return o.ApplyT(func(v RouteSpecHttp2Route) RouteSpecHttp2RouteMatch { return v.Match }).(RouteSpecHttp2RouteMatchOutput) +// The 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) } -// The retry policy. -func (o RouteSpecHttp2RouteOutput) RetryPolicy() RouteSpecHttp2RouteRetryPolicyPtrOutput { - return o.ApplyT(func(v RouteSpecHttp2Route) *RouteSpecHttp2RouteRetryPolicy { return v.RetryPolicy }).(RouteSpecHttp2RouteRetryPolicyPtrOutput) +// The per request timeout. +func (o RouteSpecGrpcRouteTimeoutOutput) PerRequest() RouteSpecGrpcRouteTimeoutPerRequestPtrOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteTimeout) *RouteSpecGrpcRouteTimeoutPerRequest { return v.PerRequest }).(RouteSpecGrpcRouteTimeoutPerRequestPtrOutput) } -type RouteSpecHttp2RoutePtrOutput struct{ *pulumi.OutputState } +type RouteSpecGrpcRouteTimeoutPtrOutput struct{ *pulumi.OutputState } -func (RouteSpecHttp2RoutePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2Route)(nil)).Elem() +func (RouteSpecGrpcRouteTimeoutPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecGrpcRouteTimeout)(nil)).Elem() } -func (o RouteSpecHttp2RoutePtrOutput) ToRouteSpecHttp2RoutePtrOutput() RouteSpecHttp2RoutePtrOutput { +func (o RouteSpecGrpcRouteTimeoutPtrOutput) ToRouteSpecGrpcRouteTimeoutPtrOutput() RouteSpecGrpcRouteTimeoutPtrOutput { return o } -func (o RouteSpecHttp2RoutePtrOutput) ToRouteSpecHttp2RoutePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RoutePtrOutput { +func (o RouteSpecGrpcRouteTimeoutPtrOutput) ToRouteSpecGrpcRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutPtrOutput { return o } -func (o RouteSpecHttp2RoutePtrOutput) Elem() RouteSpecHttp2RouteOutput { - return o.ApplyT(func(v *RouteSpecHttp2Route) RouteSpecHttp2Route { return *v }).(RouteSpecHttp2RouteOutput) -} - -// The 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.Action - }).(RouteSpecHttp2RouteActionPtrOutput) +func (o RouteSpecGrpcRouteTimeoutPtrOutput) Elem() RouteSpecGrpcRouteTimeoutOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteTimeout) RouteSpecGrpcRouteTimeout { return *v }).(RouteSpecGrpcRouteTimeoutOutput) } -// The criteria for determining an gRPC request match. -func (o RouteSpecHttp2RoutePtrOutput) Match() RouteSpecHttp2RouteMatchPtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2Route) *RouteSpecHttp2RouteMatch { +// The 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.Match - }).(RouteSpecHttp2RouteMatchPtrOutput) + return v.Idle + }).(RouteSpecGrpcRouteTimeoutIdlePtrOutput) } -// The retry policy. -func (o RouteSpecHttp2RoutePtrOutput) RetryPolicy() RouteSpecHttp2RouteRetryPolicyPtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2Route) *RouteSpecHttp2RouteRetryPolicy { +// The per request timeout. +func (o RouteSpecGrpcRouteTimeoutPtrOutput) PerRequest() RouteSpecGrpcRouteTimeoutPerRequestPtrOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteTimeout) *RouteSpecGrpcRouteTimeoutPerRequest { if v == nil { return nil } - return v.RetryPolicy - }).(RouteSpecHttp2RouteRetryPolicyPtrOutput) + return v.PerRequest + }).(RouteSpecGrpcRouteTimeoutPerRequestPtrOutput) } -type RouteSpecHttp2RouteAction struct { - // The 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 RouteSpecGrpcRouteTimeoutIdle struct { + // The unit of time. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // The number of time units. Minimum value of `0`. + Value int `pulumi:"value"` } -// RouteSpecHttp2RouteActionInput is an input type that accepts RouteSpecHttp2RouteActionArgs and RouteSpecHttp2RouteActionOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteActionInput` via: +// RouteSpecGrpcRouteTimeoutIdleInput is an input type that accepts RouteSpecGrpcRouteTimeoutIdleArgs and RouteSpecGrpcRouteTimeoutIdleOutput values. +// You can construct a concrete instance of `RouteSpecGrpcRouteTimeoutIdleInput` via: // -// RouteSpecHttp2RouteActionArgs{...} -type RouteSpecHttp2RouteActionInput interface { +// RouteSpecGrpcRouteTimeoutIdleArgs{...} +type RouteSpecGrpcRouteTimeoutIdleInput interface { pulumi.Input - ToRouteSpecHttp2RouteActionOutput() RouteSpecHttp2RouteActionOutput - ToRouteSpecHttp2RouteActionOutputWithContext(context.Context) RouteSpecHttp2RouteActionOutput + ToRouteSpecGrpcRouteTimeoutIdleOutput() RouteSpecGrpcRouteTimeoutIdleOutput + ToRouteSpecGrpcRouteTimeoutIdleOutputWithContext(context.Context) RouteSpecGrpcRouteTimeoutIdleOutput } -type RouteSpecHttp2RouteActionArgs struct { - // The 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 RouteSpecGrpcRouteTimeoutIdleArgs struct { + // The unit of time. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // The number of time units. Minimum value of `0`. + Value pulumi.IntInput `pulumi:"value"` } -func (RouteSpecHttp2RouteActionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteAction)(nil)).Elem() +func (RouteSpecGrpcRouteTimeoutIdleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecGrpcRouteTimeoutIdle)(nil)).Elem() } -func (i RouteSpecHttp2RouteActionArgs) ToRouteSpecHttp2RouteActionOutput() RouteSpecHttp2RouteActionOutput { - return i.ToRouteSpecHttp2RouteActionOutputWithContext(context.Background()) +func (i RouteSpecGrpcRouteTimeoutIdleArgs) ToRouteSpecGrpcRouteTimeoutIdleOutput() RouteSpecGrpcRouteTimeoutIdleOutput { + return i.ToRouteSpecGrpcRouteTimeoutIdleOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteActionArgs) ToRouteSpecHttp2RouteActionOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteActionOutput) +func (i RouteSpecGrpcRouteTimeoutIdleArgs) ToRouteSpecGrpcRouteTimeoutIdleOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutIdleOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteTimeoutIdleOutput) } -func (i RouteSpecHttp2RouteActionArgs) ToRouteSpecHttp2RouteActionPtrOutput() RouteSpecHttp2RouteActionPtrOutput { - return i.ToRouteSpecHttp2RouteActionPtrOutputWithContext(context.Background()) +func (i RouteSpecGrpcRouteTimeoutIdleArgs) ToRouteSpecGrpcRouteTimeoutIdlePtrOutput() RouteSpecGrpcRouteTimeoutIdlePtrOutput { + return i.ToRouteSpecGrpcRouteTimeoutIdlePtrOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteActionArgs) ToRouteSpecHttp2RouteActionPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteActionOutput).ToRouteSpecHttp2RouteActionPtrOutputWithContext(ctx) +func (i RouteSpecGrpcRouteTimeoutIdleArgs) ToRouteSpecGrpcRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutIdlePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteTimeoutIdleOutput).ToRouteSpecGrpcRouteTimeoutIdlePtrOutputWithContext(ctx) } -// RouteSpecHttp2RouteActionPtrInput is an input type that accepts RouteSpecHttp2RouteActionArgs, RouteSpecHttp2RouteActionPtr and RouteSpecHttp2RouteActionPtrOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteActionPtrInput` via: +// RouteSpecGrpcRouteTimeoutIdlePtrInput is an input type that accepts RouteSpecGrpcRouteTimeoutIdleArgs, RouteSpecGrpcRouteTimeoutIdlePtr and RouteSpecGrpcRouteTimeoutIdlePtrOutput values. +// You can construct a concrete instance of `RouteSpecGrpcRouteTimeoutIdlePtrInput` via: // -// RouteSpecHttp2RouteActionArgs{...} +// RouteSpecGrpcRouteTimeoutIdleArgs{...} // // or: // // nil -type RouteSpecHttp2RouteActionPtrInput interface { +type RouteSpecGrpcRouteTimeoutIdlePtrInput interface { pulumi.Input - ToRouteSpecHttp2RouteActionPtrOutput() RouteSpecHttp2RouteActionPtrOutput - ToRouteSpecHttp2RouteActionPtrOutputWithContext(context.Context) RouteSpecHttp2RouteActionPtrOutput + ToRouteSpecGrpcRouteTimeoutIdlePtrOutput() RouteSpecGrpcRouteTimeoutIdlePtrOutput + ToRouteSpecGrpcRouteTimeoutIdlePtrOutputWithContext(context.Context) RouteSpecGrpcRouteTimeoutIdlePtrOutput } -type routeSpecHttp2RouteActionPtrType RouteSpecHttp2RouteActionArgs +type routeSpecGrpcRouteTimeoutIdlePtrType RouteSpecGrpcRouteTimeoutIdleArgs -func RouteSpecHttp2RouteActionPtr(v *RouteSpecHttp2RouteActionArgs) RouteSpecHttp2RouteActionPtrInput { - return (*routeSpecHttp2RouteActionPtrType)(v) +func RouteSpecGrpcRouteTimeoutIdlePtr(v *RouteSpecGrpcRouteTimeoutIdleArgs) RouteSpecGrpcRouteTimeoutIdlePtrInput { + return (*routeSpecGrpcRouteTimeoutIdlePtrType)(v) } -func (*routeSpecHttp2RouteActionPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2RouteAction)(nil)).Elem() +func (*routeSpecGrpcRouteTimeoutIdlePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecGrpcRouteTimeoutIdle)(nil)).Elem() } -func (i *routeSpecHttp2RouteActionPtrType) ToRouteSpecHttp2RouteActionPtrOutput() RouteSpecHttp2RouteActionPtrOutput { - return i.ToRouteSpecHttp2RouteActionPtrOutputWithContext(context.Background()) +func (i *routeSpecGrpcRouteTimeoutIdlePtrType) ToRouteSpecGrpcRouteTimeoutIdlePtrOutput() RouteSpecGrpcRouteTimeoutIdlePtrOutput { + return i.ToRouteSpecGrpcRouteTimeoutIdlePtrOutputWithContext(context.Background()) } -func (i *routeSpecHttp2RouteActionPtrType) ToRouteSpecHttp2RouteActionPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteActionPtrOutput) +func (i *routeSpecGrpcRouteTimeoutIdlePtrType) ToRouteSpecGrpcRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutIdlePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteTimeoutIdlePtrOutput) } -type RouteSpecHttp2RouteActionOutput struct{ *pulumi.OutputState } +type RouteSpecGrpcRouteTimeoutIdleOutput struct{ *pulumi.OutputState } -func (RouteSpecHttp2RouteActionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteAction)(nil)).Elem() +func (RouteSpecGrpcRouteTimeoutIdleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecGrpcRouteTimeoutIdle)(nil)).Elem() } -func (o RouteSpecHttp2RouteActionOutput) ToRouteSpecHttp2RouteActionOutput() RouteSpecHttp2RouteActionOutput { +func (o RouteSpecGrpcRouteTimeoutIdleOutput) ToRouteSpecGrpcRouteTimeoutIdleOutput() RouteSpecGrpcRouteTimeoutIdleOutput { return o } -func (o RouteSpecHttp2RouteActionOutput) ToRouteSpecHttp2RouteActionOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionOutput { +func (o RouteSpecGrpcRouteTimeoutIdleOutput) ToRouteSpecGrpcRouteTimeoutIdleOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutIdleOutput { return o } -func (o RouteSpecHttp2RouteActionOutput) ToRouteSpecHttp2RouteActionPtrOutput() RouteSpecHttp2RouteActionPtrOutput { - return o.ToRouteSpecHttp2RouteActionPtrOutputWithContext(context.Background()) +func (o RouteSpecGrpcRouteTimeoutIdleOutput) ToRouteSpecGrpcRouteTimeoutIdlePtrOutput() RouteSpecGrpcRouteTimeoutIdlePtrOutput { + return o.ToRouteSpecGrpcRouteTimeoutIdlePtrOutputWithContext(context.Background()) } -func (o RouteSpecHttp2RouteActionOutput) ToRouteSpecHttp2RouteActionPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionPtrOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteAction) *RouteSpecHttp2RouteAction { +func (o RouteSpecGrpcRouteTimeoutIdleOutput) ToRouteSpecGrpcRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutIdlePtrOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteTimeoutIdle) *RouteSpecGrpcRouteTimeoutIdle { return &v - }).(RouteSpecHttp2RouteActionPtrOutput) + }).(RouteSpecGrpcRouteTimeoutIdlePtrOutput) } -// The 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) +// The 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) } -type RouteSpecHttp2RouteActionPtrOutput struct{ *pulumi.OutputState } +// The 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) +} -func (RouteSpecHttp2RouteActionPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2RouteAction)(nil)).Elem() +type RouteSpecGrpcRouteTimeoutIdlePtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecGrpcRouteTimeoutIdlePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecGrpcRouteTimeoutIdle)(nil)).Elem() } -func (o RouteSpecHttp2RouteActionPtrOutput) ToRouteSpecHttp2RouteActionPtrOutput() RouteSpecHttp2RouteActionPtrOutput { +func (o RouteSpecGrpcRouteTimeoutIdlePtrOutput) ToRouteSpecGrpcRouteTimeoutIdlePtrOutput() RouteSpecGrpcRouteTimeoutIdlePtrOutput { return o } -func (o RouteSpecHttp2RouteActionPtrOutput) ToRouteSpecHttp2RouteActionPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionPtrOutput { +func (o RouteSpecGrpcRouteTimeoutIdlePtrOutput) ToRouteSpecGrpcRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutIdlePtrOutput { return o } -func (o RouteSpecHttp2RouteActionPtrOutput) Elem() RouteSpecHttp2RouteActionOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteAction) RouteSpecHttp2RouteAction { return *v }).(RouteSpecHttp2RouteActionOutput) +func (o RouteSpecGrpcRouteTimeoutIdlePtrOutput) Elem() RouteSpecGrpcRouteTimeoutIdleOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteTimeoutIdle) RouteSpecGrpcRouteTimeoutIdle { return *v }).(RouteSpecGrpcRouteTimeoutIdleOutput) } -// The 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 { +// The 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.WeightedTargets - }).(RouteSpecHttp2RouteActionWeightedTargetArrayOutput) + return &v.Unit + }).(pulumi.StringPtrOutput) } -type RouteSpecHttp2RouteActionWeightedTarget struct { - // The virtual node to associate with the weighted target. - VirtualNode string `pulumi:"virtualNode"` - // The relative weight of the weighted target. An integer between 0 and 100. - Weight int `pulumi:"weight"` +// The 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.Value + }).(pulumi.IntPtrOutput) } -// RouteSpecHttp2RouteActionWeightedTargetInput is an input type that accepts RouteSpecHttp2RouteActionWeightedTargetArgs and RouteSpecHttp2RouteActionWeightedTargetOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteActionWeightedTargetInput` via: +type RouteSpecGrpcRouteTimeoutPerRequest struct { + // The unit of time. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // The number of time units. Minimum value of `0`. + Value int `pulumi:"value"` +} + +// RouteSpecGrpcRouteTimeoutPerRequestInput is an input type that accepts RouteSpecGrpcRouteTimeoutPerRequestArgs and RouteSpecGrpcRouteTimeoutPerRequestOutput values. +// You can construct a concrete instance of `RouteSpecGrpcRouteTimeoutPerRequestInput` via: // -// RouteSpecHttp2RouteActionWeightedTargetArgs{...} -type RouteSpecHttp2RouteActionWeightedTargetInput interface { +// RouteSpecGrpcRouteTimeoutPerRequestArgs{...} +type RouteSpecGrpcRouteTimeoutPerRequestInput interface { pulumi.Input - ToRouteSpecHttp2RouteActionWeightedTargetOutput() RouteSpecHttp2RouteActionWeightedTargetOutput - ToRouteSpecHttp2RouteActionWeightedTargetOutputWithContext(context.Context) RouteSpecHttp2RouteActionWeightedTargetOutput + ToRouteSpecGrpcRouteTimeoutPerRequestOutput() RouteSpecGrpcRouteTimeoutPerRequestOutput + ToRouteSpecGrpcRouteTimeoutPerRequestOutputWithContext(context.Context) RouteSpecGrpcRouteTimeoutPerRequestOutput } -type RouteSpecHttp2RouteActionWeightedTargetArgs struct { - // The virtual node to associate with the weighted target. - VirtualNode pulumi.StringInput `pulumi:"virtualNode"` - // The relative weight of the weighted target. An integer between 0 and 100. - Weight pulumi.IntInput `pulumi:"weight"` +type RouteSpecGrpcRouteTimeoutPerRequestArgs struct { + // The unit of time. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // The number of time units. Minimum value of `0`. + Value pulumi.IntInput `pulumi:"value"` } -func (RouteSpecHttp2RouteActionWeightedTargetArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteActionWeightedTarget)(nil)).Elem() +func (RouteSpecGrpcRouteTimeoutPerRequestArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecGrpcRouteTimeoutPerRequest)(nil)).Elem() } -func (i RouteSpecHttp2RouteActionWeightedTargetArgs) ToRouteSpecHttp2RouteActionWeightedTargetOutput() RouteSpecHttp2RouteActionWeightedTargetOutput { - return i.ToRouteSpecHttp2RouteActionWeightedTargetOutputWithContext(context.Background()) +func (i RouteSpecGrpcRouteTimeoutPerRequestArgs) ToRouteSpecGrpcRouteTimeoutPerRequestOutput() RouteSpecGrpcRouteTimeoutPerRequestOutput { + return i.ToRouteSpecGrpcRouteTimeoutPerRequestOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteActionWeightedTargetArgs) ToRouteSpecHttp2RouteActionWeightedTargetOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionWeightedTargetOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteActionWeightedTargetOutput) +func (i RouteSpecGrpcRouteTimeoutPerRequestArgs) ToRouteSpecGrpcRouteTimeoutPerRequestOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutPerRequestOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteTimeoutPerRequestOutput) } -// RouteSpecHttp2RouteActionWeightedTargetArrayInput is an input type that accepts RouteSpecHttp2RouteActionWeightedTargetArray and RouteSpecHttp2RouteActionWeightedTargetArrayOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteActionWeightedTargetArrayInput` via: +func (i RouteSpecGrpcRouteTimeoutPerRequestArgs) ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutput() RouteSpecGrpcRouteTimeoutPerRequestPtrOutput { + return i.ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutputWithContext(context.Background()) +} + +func (i RouteSpecGrpcRouteTimeoutPerRequestArgs) ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutPerRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteTimeoutPerRequestOutput).ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutputWithContext(ctx) +} + +// RouteSpecGrpcRouteTimeoutPerRequestPtrInput is an input type that accepts RouteSpecGrpcRouteTimeoutPerRequestArgs, RouteSpecGrpcRouteTimeoutPerRequestPtr and RouteSpecGrpcRouteTimeoutPerRequestPtrOutput values. +// You can construct a concrete instance of `RouteSpecGrpcRouteTimeoutPerRequestPtrInput` via: // -// RouteSpecHttp2RouteActionWeightedTargetArray{ RouteSpecHttp2RouteActionWeightedTargetArgs{...} } -type RouteSpecHttp2RouteActionWeightedTargetArrayInput interface { +// RouteSpecGrpcRouteTimeoutPerRequestArgs{...} +// +// or: +// +// nil +type RouteSpecGrpcRouteTimeoutPerRequestPtrInput interface { pulumi.Input - ToRouteSpecHttp2RouteActionWeightedTargetArrayOutput() RouteSpecHttp2RouteActionWeightedTargetArrayOutput - ToRouteSpecHttp2RouteActionWeightedTargetArrayOutputWithContext(context.Context) RouteSpecHttp2RouteActionWeightedTargetArrayOutput + ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutput() RouteSpecGrpcRouteTimeoutPerRequestPtrOutput + ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutputWithContext(context.Context) RouteSpecGrpcRouteTimeoutPerRequestPtrOutput } -type RouteSpecHttp2RouteActionWeightedTargetArray []RouteSpecHttp2RouteActionWeightedTargetInput +type routeSpecGrpcRouteTimeoutPerRequestPtrType RouteSpecGrpcRouteTimeoutPerRequestArgs -func (RouteSpecHttp2RouteActionWeightedTargetArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteSpecHttp2RouteActionWeightedTarget)(nil)).Elem() +func RouteSpecGrpcRouteTimeoutPerRequestPtr(v *RouteSpecGrpcRouteTimeoutPerRequestArgs) RouteSpecGrpcRouteTimeoutPerRequestPtrInput { + return (*routeSpecGrpcRouteTimeoutPerRequestPtrType)(v) } -func (i RouteSpecHttp2RouteActionWeightedTargetArray) ToRouteSpecHttp2RouteActionWeightedTargetArrayOutput() RouteSpecHttp2RouteActionWeightedTargetArrayOutput { - return i.ToRouteSpecHttp2RouteActionWeightedTargetArrayOutputWithContext(context.Background()) +func (*routeSpecGrpcRouteTimeoutPerRequestPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecGrpcRouteTimeoutPerRequest)(nil)).Elem() } -func (i RouteSpecHttp2RouteActionWeightedTargetArray) ToRouteSpecHttp2RouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionWeightedTargetArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteActionWeightedTargetArrayOutput) +func (i *routeSpecGrpcRouteTimeoutPerRequestPtrType) ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutput() RouteSpecGrpcRouteTimeoutPerRequestPtrOutput { + return i.ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutputWithContext(context.Background()) } -type RouteSpecHttp2RouteActionWeightedTargetOutput struct{ *pulumi.OutputState } +func (i *routeSpecGrpcRouteTimeoutPerRequestPtrType) ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutPerRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteTimeoutPerRequestPtrOutput) +} -func (RouteSpecHttp2RouteActionWeightedTargetOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteActionWeightedTarget)(nil)).Elem() +type RouteSpecGrpcRouteTimeoutPerRequestOutput struct{ *pulumi.OutputState } + +func (RouteSpecGrpcRouteTimeoutPerRequestOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecGrpcRouteTimeoutPerRequest)(nil)).Elem() } -func (o RouteSpecHttp2RouteActionWeightedTargetOutput) ToRouteSpecHttp2RouteActionWeightedTargetOutput() RouteSpecHttp2RouteActionWeightedTargetOutput { +func (o RouteSpecGrpcRouteTimeoutPerRequestOutput) ToRouteSpecGrpcRouteTimeoutPerRequestOutput() RouteSpecGrpcRouteTimeoutPerRequestOutput { return o } -func (o RouteSpecHttp2RouteActionWeightedTargetOutput) ToRouteSpecHttp2RouteActionWeightedTargetOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionWeightedTargetOutput { +func (o RouteSpecGrpcRouteTimeoutPerRequestOutput) ToRouteSpecGrpcRouteTimeoutPerRequestOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutPerRequestOutput { return o } -// The virtual node to associate with the weighted target. -func (o RouteSpecHttp2RouteActionWeightedTargetOutput) VirtualNode() pulumi.StringOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteActionWeightedTarget) string { return v.VirtualNode }).(pulumi.StringOutput) +func (o RouteSpecGrpcRouteTimeoutPerRequestOutput) ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutput() RouteSpecGrpcRouteTimeoutPerRequestPtrOutput { + return o.ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutputWithContext(context.Background()) } -// The 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) +func (o RouteSpecGrpcRouteTimeoutPerRequestOutput) ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutPerRequestPtrOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteTimeoutPerRequest) *RouteSpecGrpcRouteTimeoutPerRequest { + return &v + }).(RouteSpecGrpcRouteTimeoutPerRequestPtrOutput) } -type RouteSpecHttp2RouteActionWeightedTargetArrayOutput struct{ *pulumi.OutputState } +// The 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) +} -func (RouteSpecHttp2RouteActionWeightedTargetArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteSpecHttp2RouteActionWeightedTarget)(nil)).Elem() +// The 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 (o RouteSpecHttp2RouteActionWeightedTargetArrayOutput) ToRouteSpecHttp2RouteActionWeightedTargetArrayOutput() RouteSpecHttp2RouteActionWeightedTargetArrayOutput { +type RouteSpecGrpcRouteTimeoutPerRequestPtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecGrpcRouteTimeoutPerRequestPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecGrpcRouteTimeoutPerRequest)(nil)).Elem() +} + +func (o RouteSpecGrpcRouteTimeoutPerRequestPtrOutput) ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutput() RouteSpecGrpcRouteTimeoutPerRequestPtrOutput { return o } -func (o RouteSpecHttp2RouteActionWeightedTargetArrayOutput) ToRouteSpecHttp2RouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionWeightedTargetArrayOutput { +func (o RouteSpecGrpcRouteTimeoutPerRequestPtrOutput) ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutPerRequestPtrOutput { 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 RouteSpecGrpcRouteTimeoutPerRequestPtrOutput) Elem() RouteSpecGrpcRouteTimeoutPerRequestOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteTimeoutPerRequest) RouteSpecGrpcRouteTimeoutPerRequest { return *v }).(RouteSpecGrpcRouteTimeoutPerRequestOutput) } -type RouteSpecHttp2RouteMatch struct { - // The client request headers to match on. - Headers []RouteSpecHttp2RouteMatchHeader `pulumi:"headers"` - // The client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. - Method *string `pulumi:"method"` - // The value sent by the client must begin with the specified characters. - // This parameter must always start with /, which by itself matches all requests to the virtual router service name. - Prefix string `pulumi:"prefix"` - // The client request header scheme to match on. Valid values: `http`, `https`. - Scheme *string `pulumi:"scheme"` +// The 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) } -// RouteSpecHttp2RouteMatchInput is an input type that accepts RouteSpecHttp2RouteMatchArgs and RouteSpecHttp2RouteMatchOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteMatchInput` via: +// The 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 { + // The action to take if a match is determined. + Action RouteSpecHttp2RouteAction `pulumi:"action"` + // The criteria for determining an gRPC request match. + Match RouteSpecHttp2RouteMatch `pulumi:"match"` + // The retry policy. + RetryPolicy *RouteSpecHttp2RouteRetryPolicy `pulumi:"retryPolicy"` + // The 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: // -// RouteSpecHttp2RouteMatchArgs{...} -type RouteSpecHttp2RouteMatchInput interface { +// RouteSpecHttp2RouteArgs{...} +type RouteSpecHttp2RouteInput interface { pulumi.Input - ToRouteSpecHttp2RouteMatchOutput() RouteSpecHttp2RouteMatchOutput - ToRouteSpecHttp2RouteMatchOutputWithContext(context.Context) RouteSpecHttp2RouteMatchOutput + ToRouteSpecHttp2RouteOutput() RouteSpecHttp2RouteOutput + ToRouteSpecHttp2RouteOutputWithContext(context.Context) RouteSpecHttp2RouteOutput } -type RouteSpecHttp2RouteMatchArgs struct { - // The client request headers to match on. - Headers RouteSpecHttp2RouteMatchHeaderArrayInput `pulumi:"headers"` - // The client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. - Method pulumi.StringPtrInput `pulumi:"method"` - // The value sent by the client must begin with the specified characters. - // This parameter must always start with /, which by itself matches all requests to the virtual router service name. - Prefix pulumi.StringInput `pulumi:"prefix"` - // The client request header scheme to match on. Valid values: `http`, `https`. - Scheme pulumi.StringPtrInput `pulumi:"scheme"` +type RouteSpecHttp2RouteArgs struct { + // The action to take if a match is determined. + Action RouteSpecHttp2RouteActionInput `pulumi:"action"` + // The criteria for determining an gRPC request match. + Match RouteSpecHttp2RouteMatchInput `pulumi:"match"` + // The retry policy. + RetryPolicy RouteSpecHttp2RouteRetryPolicyPtrInput `pulumi:"retryPolicy"` + // The types of timeouts. + Timeout RouteSpecHttp2RouteTimeoutPtrInput `pulumi:"timeout"` } -func (RouteSpecHttp2RouteMatchArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteMatch)(nil)).Elem() +func (RouteSpecHttp2RouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2Route)(nil)).Elem() } -func (i RouteSpecHttp2RouteMatchArgs) ToRouteSpecHttp2RouteMatchOutput() RouteSpecHttp2RouteMatchOutput { - return i.ToRouteSpecHttp2RouteMatchOutputWithContext(context.Background()) +func (i RouteSpecHttp2RouteArgs) ToRouteSpecHttp2RouteOutput() RouteSpecHttp2RouteOutput { + return i.ToRouteSpecHttp2RouteOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteMatchArgs) ToRouteSpecHttp2RouteMatchOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchOutput) +func (i RouteSpecHttp2RouteArgs) ToRouteSpecHttp2RouteOutputWithContext(ctx context.Context) RouteSpecHttp2RouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteOutput) } -func (i RouteSpecHttp2RouteMatchArgs) ToRouteSpecHttp2RouteMatchPtrOutput() RouteSpecHttp2RouteMatchPtrOutput { - return i.ToRouteSpecHttp2RouteMatchPtrOutputWithContext(context.Background()) +func (i RouteSpecHttp2RouteArgs) ToRouteSpecHttp2RoutePtrOutput() RouteSpecHttp2RoutePtrOutput { + return i.ToRouteSpecHttp2RoutePtrOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteMatchArgs) ToRouteSpecHttp2RouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchOutput).ToRouteSpecHttp2RouteMatchPtrOutputWithContext(ctx) +func (i RouteSpecHttp2RouteArgs) ToRouteSpecHttp2RoutePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RoutePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteOutput).ToRouteSpecHttp2RoutePtrOutputWithContext(ctx) } -// RouteSpecHttp2RouteMatchPtrInput is an input type that accepts RouteSpecHttp2RouteMatchArgs, RouteSpecHttp2RouteMatchPtr and RouteSpecHttp2RouteMatchPtrOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteMatchPtrInput` via: +// RouteSpecHttp2RoutePtrInput is an input type that accepts RouteSpecHttp2RouteArgs, RouteSpecHttp2RoutePtr and RouteSpecHttp2RoutePtrOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RoutePtrInput` via: // -// RouteSpecHttp2RouteMatchArgs{...} +// RouteSpecHttp2RouteArgs{...} // // or: // // nil -type RouteSpecHttp2RouteMatchPtrInput interface { +type RouteSpecHttp2RoutePtrInput interface { pulumi.Input - ToRouteSpecHttp2RouteMatchPtrOutput() RouteSpecHttp2RouteMatchPtrOutput - ToRouteSpecHttp2RouteMatchPtrOutputWithContext(context.Context) RouteSpecHttp2RouteMatchPtrOutput + ToRouteSpecHttp2RoutePtrOutput() RouteSpecHttp2RoutePtrOutput + ToRouteSpecHttp2RoutePtrOutputWithContext(context.Context) RouteSpecHttp2RoutePtrOutput } -type routeSpecHttp2RouteMatchPtrType RouteSpecHttp2RouteMatchArgs +type routeSpecHttp2RoutePtrType RouteSpecHttp2RouteArgs -func RouteSpecHttp2RouteMatchPtr(v *RouteSpecHttp2RouteMatchArgs) RouteSpecHttp2RouteMatchPtrInput { - return (*routeSpecHttp2RouteMatchPtrType)(v) +func RouteSpecHttp2RoutePtr(v *RouteSpecHttp2RouteArgs) RouteSpecHttp2RoutePtrInput { + return (*routeSpecHttp2RoutePtrType)(v) } -func (*routeSpecHttp2RouteMatchPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2RouteMatch)(nil)).Elem() +func (*routeSpecHttp2RoutePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2Route)(nil)).Elem() } -func (i *routeSpecHttp2RouteMatchPtrType) ToRouteSpecHttp2RouteMatchPtrOutput() RouteSpecHttp2RouteMatchPtrOutput { - return i.ToRouteSpecHttp2RouteMatchPtrOutputWithContext(context.Background()) +func (i *routeSpecHttp2RoutePtrType) ToRouteSpecHttp2RoutePtrOutput() RouteSpecHttp2RoutePtrOutput { + return i.ToRouteSpecHttp2RoutePtrOutputWithContext(context.Background()) } -func (i *routeSpecHttp2RouteMatchPtrType) ToRouteSpecHttp2RouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchPtrOutput) +func (i *routeSpecHttp2RoutePtrType) ToRouteSpecHttp2RoutePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RoutePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RoutePtrOutput) } -type RouteSpecHttp2RouteMatchOutput struct{ *pulumi.OutputState } +type RouteSpecHttp2RouteOutput struct{ *pulumi.OutputState } -func (RouteSpecHttp2RouteMatchOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteMatch)(nil)).Elem() +func (RouteSpecHttp2RouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2Route)(nil)).Elem() } -func (o RouteSpecHttp2RouteMatchOutput) ToRouteSpecHttp2RouteMatchOutput() RouteSpecHttp2RouteMatchOutput { +func (o RouteSpecHttp2RouteOutput) ToRouteSpecHttp2RouteOutput() RouteSpecHttp2RouteOutput { return o } -func (o RouteSpecHttp2RouteMatchOutput) ToRouteSpecHttp2RouteMatchOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchOutput { +func (o RouteSpecHttp2RouteOutput) ToRouteSpecHttp2RouteOutputWithContext(ctx context.Context) RouteSpecHttp2RouteOutput { return o } -func (o RouteSpecHttp2RouteMatchOutput) ToRouteSpecHttp2RouteMatchPtrOutput() RouteSpecHttp2RouteMatchPtrOutput { - return o.ToRouteSpecHttp2RouteMatchPtrOutputWithContext(context.Background()) +func (o RouteSpecHttp2RouteOutput) ToRouteSpecHttp2RoutePtrOutput() RouteSpecHttp2RoutePtrOutput { + return o.ToRouteSpecHttp2RoutePtrOutputWithContext(context.Background()) } -func (o RouteSpecHttp2RouteMatchOutput) ToRouteSpecHttp2RouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchPtrOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteMatch) *RouteSpecHttp2RouteMatch { +func (o RouteSpecHttp2RouteOutput) ToRouteSpecHttp2RoutePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RoutePtrOutput { + return o.ApplyT(func(v RouteSpecHttp2Route) *RouteSpecHttp2Route { return &v - }).(RouteSpecHttp2RouteMatchPtrOutput) + }).(RouteSpecHttp2RoutePtrOutput) } -// The client request headers to match on. -func (o RouteSpecHttp2RouteMatchOutput) Headers() RouteSpecHttp2RouteMatchHeaderArrayOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteMatch) []RouteSpecHttp2RouteMatchHeader { return v.Headers }).(RouteSpecHttp2RouteMatchHeaderArrayOutput) +// The action to take if a match is determined. +func (o RouteSpecHttp2RouteOutput) Action() RouteSpecHttp2RouteActionOutput { + return o.ApplyT(func(v RouteSpecHttp2Route) RouteSpecHttp2RouteAction { return v.Action }).(RouteSpecHttp2RouteActionOutput) } -// The 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 criteria for determining an gRPC request match. +func (o RouteSpecHttp2RouteOutput) Match() RouteSpecHttp2RouteMatchOutput { + return o.ApplyT(func(v RouteSpecHttp2Route) RouteSpecHttp2RouteMatch { return v.Match }).(RouteSpecHttp2RouteMatchOutput) } -// The value sent by the client must begin with the specified characters. -// 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) +// The retry policy. +func (o RouteSpecHttp2RouteOutput) RetryPolicy() RouteSpecHttp2RouteRetryPolicyPtrOutput { + return o.ApplyT(func(v RouteSpecHttp2Route) *RouteSpecHttp2RouteRetryPolicy { return v.RetryPolicy }).(RouteSpecHttp2RouteRetryPolicyPtrOutput) } -// The 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) +// The types of timeouts. +func (o RouteSpecHttp2RouteOutput) Timeout() RouteSpecHttp2RouteTimeoutPtrOutput { + return o.ApplyT(func(v RouteSpecHttp2Route) *RouteSpecHttp2RouteTimeout { return v.Timeout }).(RouteSpecHttp2RouteTimeoutPtrOutput) } -type RouteSpecHttp2RouteMatchPtrOutput struct{ *pulumi.OutputState } +type RouteSpecHttp2RoutePtrOutput struct{ *pulumi.OutputState } -func (RouteSpecHttp2RouteMatchPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2RouteMatch)(nil)).Elem() +func (RouteSpecHttp2RoutePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2Route)(nil)).Elem() } -func (o RouteSpecHttp2RouteMatchPtrOutput) ToRouteSpecHttp2RouteMatchPtrOutput() RouteSpecHttp2RouteMatchPtrOutput { +func (o RouteSpecHttp2RoutePtrOutput) ToRouteSpecHttp2RoutePtrOutput() RouteSpecHttp2RoutePtrOutput { return o } -func (o RouteSpecHttp2RouteMatchPtrOutput) ToRouteSpecHttp2RouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchPtrOutput { +func (o RouteSpecHttp2RoutePtrOutput) ToRouteSpecHttp2RoutePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RoutePtrOutput { return o } -func (o RouteSpecHttp2RouteMatchPtrOutput) Elem() RouteSpecHttp2RouteMatchOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteMatch) RouteSpecHttp2RouteMatch { return *v }).(RouteSpecHttp2RouteMatchOutput) +func (o RouteSpecHttp2RoutePtrOutput) Elem() RouteSpecHttp2RouteOutput { + return o.ApplyT(func(v *RouteSpecHttp2Route) RouteSpecHttp2Route { return *v }).(RouteSpecHttp2RouteOutput) } -// The client request headers to match on. -func (o RouteSpecHttp2RouteMatchPtrOutput) Headers() RouteSpecHttp2RouteMatchHeaderArrayOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteMatch) []RouteSpecHttp2RouteMatchHeader { +// The 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.Headers - }).(RouteSpecHttp2RouteMatchHeaderArrayOutput) + return &v.Action + }).(RouteSpecHttp2RouteActionPtrOutput) } -// The 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 { +// The 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.Method - }).(pulumi.StringPtrOutput) + return &v.Match + }).(RouteSpecHttp2RouteMatchPtrOutput) } -// The value sent by the client must begin with the specified characters. -// 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 { +// The retry policy. +func (o RouteSpecHttp2RoutePtrOutput) RetryPolicy() RouteSpecHttp2RouteRetryPolicyPtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2Route) *RouteSpecHttp2RouteRetryPolicy { if v == nil { return nil } - return &v.Prefix - }).(pulumi.StringPtrOutput) + return v.RetryPolicy + }).(RouteSpecHttp2RouteRetryPolicyPtrOutput) } -// The client request header scheme to match on. Valid values: `http`, `https`. -func (o RouteSpecHttp2RouteMatchPtrOutput) Scheme() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteMatch) *string { +// The types of timeouts. +func (o RouteSpecHttp2RoutePtrOutput) Timeout() RouteSpecHttp2RouteTimeoutPtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2Route) *RouteSpecHttp2RouteTimeout { if v == nil { return nil } - return v.Scheme - }).(pulumi.StringPtrOutput) + return v.Timeout + }).(RouteSpecHttp2RouteTimeoutPtrOutput) } -type RouteSpecHttp2RouteMatchHeader struct { - // If `true`, the match is on the opposite of the `match` method and value. Default is `false`. - Invert *bool `pulumi:"invert"` - // The method and value to match the header value sent with a request. Specify one match method. - Match *RouteSpecHttp2RouteMatchHeaderMatch `pulumi:"match"` - // A name for the HTTP header in the client request that will be matched on. - Name string `pulumi:"name"` +type RouteSpecHttp2RouteAction struct { + // The 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"` } -// RouteSpecHttp2RouteMatchHeaderInput is an input type that accepts RouteSpecHttp2RouteMatchHeaderArgs and RouteSpecHttp2RouteMatchHeaderOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteMatchHeaderInput` via: +// RouteSpecHttp2RouteActionInput is an input type that accepts RouteSpecHttp2RouteActionArgs and RouteSpecHttp2RouteActionOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteActionInput` via: // -// RouteSpecHttp2RouteMatchHeaderArgs{...} -type RouteSpecHttp2RouteMatchHeaderInput interface { +// RouteSpecHttp2RouteActionArgs{...} +type RouteSpecHttp2RouteActionInput interface { pulumi.Input - ToRouteSpecHttp2RouteMatchHeaderOutput() RouteSpecHttp2RouteMatchHeaderOutput - ToRouteSpecHttp2RouteMatchHeaderOutputWithContext(context.Context) RouteSpecHttp2RouteMatchHeaderOutput + ToRouteSpecHttp2RouteActionOutput() RouteSpecHttp2RouteActionOutput + ToRouteSpecHttp2RouteActionOutputWithContext(context.Context) RouteSpecHttp2RouteActionOutput } -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"` - // The method and value to match the header value sent with a request. Specify one match method. - Match RouteSpecHttp2RouteMatchHeaderMatchPtrInput `pulumi:"match"` - // A name for the HTTP header in the client request that will be matched on. - Name pulumi.StringInput `pulumi:"name"` +type RouteSpecHttp2RouteActionArgs struct { + // The 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 (RouteSpecHttp2RouteMatchHeaderArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteMatchHeader)(nil)).Elem() +func (RouteSpecHttp2RouteActionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteAction)(nil)).Elem() } -func (i RouteSpecHttp2RouteMatchHeaderArgs) ToRouteSpecHttp2RouteMatchHeaderOutput() RouteSpecHttp2RouteMatchHeaderOutput { - return i.ToRouteSpecHttp2RouteMatchHeaderOutputWithContext(context.Background()) +func (i RouteSpecHttp2RouteActionArgs) ToRouteSpecHttp2RouteActionOutput() RouteSpecHttp2RouteActionOutput { + return i.ToRouteSpecHttp2RouteActionOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteMatchHeaderArgs) ToRouteSpecHttp2RouteMatchHeaderOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchHeaderOutput) +func (i RouteSpecHttp2RouteActionArgs) ToRouteSpecHttp2RouteActionOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteActionOutput) } -// RouteSpecHttp2RouteMatchHeaderArrayInput is an input type that accepts RouteSpecHttp2RouteMatchHeaderArray and RouteSpecHttp2RouteMatchHeaderArrayOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteMatchHeaderArrayInput` via: +func (i RouteSpecHttp2RouteActionArgs) ToRouteSpecHttp2RouteActionPtrOutput() RouteSpecHttp2RouteActionPtrOutput { + return i.ToRouteSpecHttp2RouteActionPtrOutputWithContext(context.Background()) +} + +func (i RouteSpecHttp2RouteActionArgs) ToRouteSpecHttp2RouteActionPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteActionOutput).ToRouteSpecHttp2RouteActionPtrOutputWithContext(ctx) +} + +// RouteSpecHttp2RouteActionPtrInput is an input type that accepts RouteSpecHttp2RouteActionArgs, RouteSpecHttp2RouteActionPtr and RouteSpecHttp2RouteActionPtrOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteActionPtrInput` via: // -// RouteSpecHttp2RouteMatchHeaderArray{ RouteSpecHttp2RouteMatchHeaderArgs{...} } -type RouteSpecHttp2RouteMatchHeaderArrayInput interface { +// RouteSpecHttp2RouteActionArgs{...} +// +// or: +// +// nil +type RouteSpecHttp2RouteActionPtrInput interface { pulumi.Input - ToRouteSpecHttp2RouteMatchHeaderArrayOutput() RouteSpecHttp2RouteMatchHeaderArrayOutput - ToRouteSpecHttp2RouteMatchHeaderArrayOutputWithContext(context.Context) RouteSpecHttp2RouteMatchHeaderArrayOutput + ToRouteSpecHttp2RouteActionPtrOutput() RouteSpecHttp2RouteActionPtrOutput + ToRouteSpecHttp2RouteActionPtrOutputWithContext(context.Context) RouteSpecHttp2RouteActionPtrOutput } -type RouteSpecHttp2RouteMatchHeaderArray []RouteSpecHttp2RouteMatchHeaderInput +type routeSpecHttp2RouteActionPtrType RouteSpecHttp2RouteActionArgs -func (RouteSpecHttp2RouteMatchHeaderArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteSpecHttp2RouteMatchHeader)(nil)).Elem() +func RouteSpecHttp2RouteActionPtr(v *RouteSpecHttp2RouteActionArgs) RouteSpecHttp2RouteActionPtrInput { + return (*routeSpecHttp2RouteActionPtrType)(v) } -func (i RouteSpecHttp2RouteMatchHeaderArray) ToRouteSpecHttp2RouteMatchHeaderArrayOutput() RouteSpecHttp2RouteMatchHeaderArrayOutput { - return i.ToRouteSpecHttp2RouteMatchHeaderArrayOutputWithContext(context.Background()) +func (*routeSpecHttp2RouteActionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteAction)(nil)).Elem() } -func (i RouteSpecHttp2RouteMatchHeaderArray) ToRouteSpecHttp2RouteMatchHeaderArrayOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchHeaderArrayOutput) +func (i *routeSpecHttp2RouteActionPtrType) ToRouteSpecHttp2RouteActionPtrOutput() RouteSpecHttp2RouteActionPtrOutput { + return i.ToRouteSpecHttp2RouteActionPtrOutputWithContext(context.Background()) } -type RouteSpecHttp2RouteMatchHeaderOutput struct{ *pulumi.OutputState } +func (i *routeSpecHttp2RouteActionPtrType) ToRouteSpecHttp2RouteActionPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteActionPtrOutput) +} -func (RouteSpecHttp2RouteMatchHeaderOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteMatchHeader)(nil)).Elem() +type RouteSpecHttp2RouteActionOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttp2RouteActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteAction)(nil)).Elem() } -func (o RouteSpecHttp2RouteMatchHeaderOutput) ToRouteSpecHttp2RouteMatchHeaderOutput() RouteSpecHttp2RouteMatchHeaderOutput { +func (o RouteSpecHttp2RouteActionOutput) ToRouteSpecHttp2RouteActionOutput() RouteSpecHttp2RouteActionOutput { return o } -func (o RouteSpecHttp2RouteMatchHeaderOutput) ToRouteSpecHttp2RouteMatchHeaderOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderOutput { +func (o RouteSpecHttp2RouteActionOutput) ToRouteSpecHttp2RouteActionOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionOutput { 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 RouteSpecHttp2RouteActionOutput) ToRouteSpecHttp2RouteActionPtrOutput() RouteSpecHttp2RouteActionPtrOutput { + return o.ToRouteSpecHttp2RouteActionPtrOutputWithContext(context.Background()) } -// The 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 RouteSpecHttp2RouteActionOutput) ToRouteSpecHttp2RouteActionPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionPtrOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteAction) *RouteSpecHttp2RouteAction { + return &v + }).(RouteSpecHttp2RouteActionPtrOutput) } -// A 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) +// The 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 RouteSpecHttp2RouteMatchHeaderArrayOutput struct{ *pulumi.OutputState } +type RouteSpecHttp2RouteActionPtrOutput struct{ *pulumi.OutputState } -func (RouteSpecHttp2RouteMatchHeaderArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteSpecHttp2RouteMatchHeader)(nil)).Elem() +func (RouteSpecHttp2RouteActionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteAction)(nil)).Elem() } -func (o RouteSpecHttp2RouteMatchHeaderArrayOutput) ToRouteSpecHttp2RouteMatchHeaderArrayOutput() RouteSpecHttp2RouteMatchHeaderArrayOutput { +func (o RouteSpecHttp2RouteActionPtrOutput) ToRouteSpecHttp2RouteActionPtrOutput() RouteSpecHttp2RouteActionPtrOutput { return o } -func (o RouteSpecHttp2RouteMatchHeaderArrayOutput) ToRouteSpecHttp2RouteMatchHeaderArrayOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderArrayOutput { +func (o RouteSpecHttp2RouteActionPtrOutput) ToRouteSpecHttp2RouteActionPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionPtrOutput { 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 RouteSpecHttp2RouteActionPtrOutput) Elem() RouteSpecHttp2RouteActionOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteAction) RouteSpecHttp2RouteAction { return *v }).(RouteSpecHttp2RouteActionOutput) } -type RouteSpecHttp2RouteMatchHeaderMatch struct { - // The value sent by the client must match the specified value exactly. - Exact *string `pulumi:"exact"` - // The value sent by the client must begin with the specified characters. - // This parameter must always start with /, which by itself matches all requests to the virtual router service name. - Prefix *string `pulumi:"prefix"` - // The object that specifies the range of numbers that the value sent by the client must be included in. - Range *RouteSpecHttp2RouteMatchHeaderMatchRange `pulumi:"range"` - // The value sent by the client must include the specified characters. - Regex *string `pulumi:"regex"` - // The value sent by the client must end with the specified characters. - Suffix *string `pulumi:"suffix"` +// The 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.WeightedTargets + }).(RouteSpecHttp2RouteActionWeightedTargetArrayOutput) } -// RouteSpecHttp2RouteMatchHeaderMatchInput is an input type that accepts RouteSpecHttp2RouteMatchHeaderMatchArgs and RouteSpecHttp2RouteMatchHeaderMatchOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteMatchHeaderMatchInput` via: -// -// RouteSpecHttp2RouteMatchHeaderMatchArgs{...} -type RouteSpecHttp2RouteMatchHeaderMatchInput interface { - pulumi.Input - - ToRouteSpecHttp2RouteMatchHeaderMatchOutput() RouteSpecHttp2RouteMatchHeaderMatchOutput - ToRouteSpecHttp2RouteMatchHeaderMatchOutputWithContext(context.Context) RouteSpecHttp2RouteMatchHeaderMatchOutput +type RouteSpecHttp2RouteActionWeightedTarget struct { + // The virtual node to associate with the weighted target. + VirtualNode string `pulumi:"virtualNode"` + // The relative weight of the weighted target. An integer between 0 and 100. + Weight int `pulumi:"weight"` } -type RouteSpecHttp2RouteMatchHeaderMatchArgs struct { - // The value sent by the client must match the specified value exactly. - Exact pulumi.StringPtrInput `pulumi:"exact"` - // The value sent by the client must begin with the specified characters. - // This parameter must always start with /, which by itself matches all requests to the virtual router service name. - Prefix pulumi.StringPtrInput `pulumi:"prefix"` - // The object that specifies the range of numbers that the value sent by the client must be included in. - Range RouteSpecHttp2RouteMatchHeaderMatchRangePtrInput `pulumi:"range"` - // The value sent by the client must include the specified characters. - Regex pulumi.StringPtrInput `pulumi:"regex"` - // The value sent by the client must end with the specified characters. - Suffix pulumi.StringPtrInput `pulumi:"suffix"` -} +// RouteSpecHttp2RouteActionWeightedTargetInput is an input type that accepts RouteSpecHttp2RouteActionWeightedTargetArgs and RouteSpecHttp2RouteActionWeightedTargetOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteActionWeightedTargetInput` via: +// +// RouteSpecHttp2RouteActionWeightedTargetArgs{...} +type RouteSpecHttp2RouteActionWeightedTargetInput interface { + pulumi.Input -func (RouteSpecHttp2RouteMatchHeaderMatchArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteMatchHeaderMatch)(nil)).Elem() + ToRouteSpecHttp2RouteActionWeightedTargetOutput() RouteSpecHttp2RouteActionWeightedTargetOutput + ToRouteSpecHttp2RouteActionWeightedTargetOutputWithContext(context.Context) RouteSpecHttp2RouteActionWeightedTargetOutput } -func (i RouteSpecHttp2RouteMatchHeaderMatchArgs) ToRouteSpecHttp2RouteMatchHeaderMatchOutput() RouteSpecHttp2RouteMatchHeaderMatchOutput { - return i.ToRouteSpecHttp2RouteMatchHeaderMatchOutputWithContext(context.Background()) +type RouteSpecHttp2RouteActionWeightedTargetArgs struct { + // The virtual node to associate with the weighted target. + VirtualNode pulumi.StringInput `pulumi:"virtualNode"` + // The relative weight of the weighted target. An integer between 0 and 100. + Weight pulumi.IntInput `pulumi:"weight"` } -func (i RouteSpecHttp2RouteMatchHeaderMatchArgs) ToRouteSpecHttp2RouteMatchHeaderMatchOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchHeaderMatchOutput) +func (RouteSpecHttp2RouteActionWeightedTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteActionWeightedTarget)(nil)).Elem() } -func (i RouteSpecHttp2RouteMatchHeaderMatchArgs) ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutput() RouteSpecHttp2RouteMatchHeaderMatchPtrOutput { - return i.ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(context.Background()) +func (i RouteSpecHttp2RouteActionWeightedTargetArgs) ToRouteSpecHttp2RouteActionWeightedTargetOutput() RouteSpecHttp2RouteActionWeightedTargetOutput { + return i.ToRouteSpecHttp2RouteActionWeightedTargetOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteMatchHeaderMatchArgs) ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchHeaderMatchOutput).ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(ctx) +func (i RouteSpecHttp2RouteActionWeightedTargetArgs) ToRouteSpecHttp2RouteActionWeightedTargetOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionWeightedTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteActionWeightedTargetOutput) } -// RouteSpecHttp2RouteMatchHeaderMatchPtrInput is an input type that accepts RouteSpecHttp2RouteMatchHeaderMatchArgs, RouteSpecHttp2RouteMatchHeaderMatchPtr and RouteSpecHttp2RouteMatchHeaderMatchPtrOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteMatchHeaderMatchPtrInput` via: -// -// RouteSpecHttp2RouteMatchHeaderMatchArgs{...} -// -// or: +// RouteSpecHttp2RouteActionWeightedTargetArrayInput is an input type that accepts RouteSpecHttp2RouteActionWeightedTargetArray and RouteSpecHttp2RouteActionWeightedTargetArrayOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteActionWeightedTargetArrayInput` via: // -// nil -type RouteSpecHttp2RouteMatchHeaderMatchPtrInput interface { +// RouteSpecHttp2RouteActionWeightedTargetArray{ RouteSpecHttp2RouteActionWeightedTargetArgs{...} } +type RouteSpecHttp2RouteActionWeightedTargetArrayInput interface { pulumi.Input - ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutput() RouteSpecHttp2RouteMatchHeaderMatchPtrOutput - ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(context.Context) RouteSpecHttp2RouteMatchHeaderMatchPtrOutput + ToRouteSpecHttp2RouteActionWeightedTargetArrayOutput() RouteSpecHttp2RouteActionWeightedTargetArrayOutput + ToRouteSpecHttp2RouteActionWeightedTargetArrayOutputWithContext(context.Context) RouteSpecHttp2RouteActionWeightedTargetArrayOutput } -type routeSpecHttp2RouteMatchHeaderMatchPtrType RouteSpecHttp2RouteMatchHeaderMatchArgs - -func RouteSpecHttp2RouteMatchHeaderMatchPtr(v *RouteSpecHttp2RouteMatchHeaderMatchArgs) RouteSpecHttp2RouteMatchHeaderMatchPtrInput { - return (*routeSpecHttp2RouteMatchHeaderMatchPtrType)(v) -} +type RouteSpecHttp2RouteActionWeightedTargetArray []RouteSpecHttp2RouteActionWeightedTargetInput -func (*routeSpecHttp2RouteMatchHeaderMatchPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2RouteMatchHeaderMatch)(nil)).Elem() +func (RouteSpecHttp2RouteActionWeightedTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteSpecHttp2RouteActionWeightedTarget)(nil)).Elem() } -func (i *routeSpecHttp2RouteMatchHeaderMatchPtrType) ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutput() RouteSpecHttp2RouteMatchHeaderMatchPtrOutput { - return i.ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(context.Background()) +func (i RouteSpecHttp2RouteActionWeightedTargetArray) ToRouteSpecHttp2RouteActionWeightedTargetArrayOutput() RouteSpecHttp2RouteActionWeightedTargetArrayOutput { + return i.ToRouteSpecHttp2RouteActionWeightedTargetArrayOutputWithContext(context.Background()) } -func (i *routeSpecHttp2RouteMatchHeaderMatchPtrType) ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) +func (i RouteSpecHttp2RouteActionWeightedTargetArray) ToRouteSpecHttp2RouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionWeightedTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteActionWeightedTargetArrayOutput) } -type RouteSpecHttp2RouteMatchHeaderMatchOutput struct{ *pulumi.OutputState } +type RouteSpecHttp2RouteActionWeightedTargetOutput struct{ *pulumi.OutputState } -func (RouteSpecHttp2RouteMatchHeaderMatchOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteMatchHeaderMatch)(nil)).Elem() +func (RouteSpecHttp2RouteActionWeightedTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteActionWeightedTarget)(nil)).Elem() } -func (o RouteSpecHttp2RouteMatchHeaderMatchOutput) ToRouteSpecHttp2RouteMatchHeaderMatchOutput() RouteSpecHttp2RouteMatchHeaderMatchOutput { +func (o RouteSpecHttp2RouteActionWeightedTargetOutput) ToRouteSpecHttp2RouteActionWeightedTargetOutput() RouteSpecHttp2RouteActionWeightedTargetOutput { return o } -func (o RouteSpecHttp2RouteMatchHeaderMatchOutput) ToRouteSpecHttp2RouteMatchHeaderMatchOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchOutput { +func (o RouteSpecHttp2RouteActionWeightedTargetOutput) ToRouteSpecHttp2RouteActionWeightedTargetOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionWeightedTargetOutput { return o } -func (o RouteSpecHttp2RouteMatchHeaderMatchOutput) ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutput() RouteSpecHttp2RouteMatchHeaderMatchPtrOutput { - return o.ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(context.Background()) +// The virtual node to associate with the weighted target. +func (o RouteSpecHttp2RouteActionWeightedTargetOutput) VirtualNode() pulumi.StringOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteActionWeightedTarget) string { return v.VirtualNode }).(pulumi.StringOutput) } -func (o RouteSpecHttp2RouteMatchHeaderMatchOutput) ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchPtrOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteMatchHeaderMatch) *RouteSpecHttp2RouteMatchHeaderMatch { - return &v - }).(RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) +// The 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) } -// The value sent by the client must match the specified value exactly. -func (o RouteSpecHttp2RouteMatchHeaderMatchOutput) Exact() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteMatchHeaderMatch) *string { return v.Exact }).(pulumi.StringPtrOutput) +type RouteSpecHttp2RouteActionWeightedTargetArrayOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttp2RouteActionWeightedTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteSpecHttp2RouteActionWeightedTarget)(nil)).Elem() } -// The value sent by the client must begin with the specified characters. -// 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) +func (o RouteSpecHttp2RouteActionWeightedTargetArrayOutput) ToRouteSpecHttp2RouteActionWeightedTargetArrayOutput() RouteSpecHttp2RouteActionWeightedTargetArrayOutput { + return o } -// The 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 (o RouteSpecHttp2RouteActionWeightedTargetArrayOutput) ToRouteSpecHttp2RouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionWeightedTargetArrayOutput { + return o } -// The value sent by the client must include the specified characters. -func (o RouteSpecHttp2RouteMatchHeaderMatchOutput) Regex() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteMatchHeaderMatch) *string { return v.Regex }).(pulumi.StringPtrOutput) +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 RouteSpecHttp2RouteMatch struct { + // The client request headers to match on. + Headers []RouteSpecHttp2RouteMatchHeader `pulumi:"headers"` + // The client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. + Method *string `pulumi:"method"` + // The value sent by the client must begin with the specified characters. + // This parameter must always start with /, which by itself matches all requests to the virtual router service name. + Prefix string `pulumi:"prefix"` + // The client request header scheme to match on. Valid values: `http`, `https`. + Scheme *string `pulumi:"scheme"` +} + +// RouteSpecHttp2RouteMatchInput is an input type that accepts RouteSpecHttp2RouteMatchArgs and RouteSpecHttp2RouteMatchOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteMatchInput` via: +// +// RouteSpecHttp2RouteMatchArgs{...} +type RouteSpecHttp2RouteMatchInput interface { + pulumi.Input + + ToRouteSpecHttp2RouteMatchOutput() RouteSpecHttp2RouteMatchOutput + ToRouteSpecHttp2RouteMatchOutputWithContext(context.Context) RouteSpecHttp2RouteMatchOutput +} + +type RouteSpecHttp2RouteMatchArgs struct { + // The client request headers to match on. + Headers RouteSpecHttp2RouteMatchHeaderArrayInput `pulumi:"headers"` + // The client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. + Method pulumi.StringPtrInput `pulumi:"method"` + // The value sent by the client must begin with the specified characters. + // This parameter must always start with /, which by itself matches all requests to the virtual router service name. + Prefix pulumi.StringInput `pulumi:"prefix"` + // The client request header scheme to match on. Valid values: `http`, `https`. + Scheme pulumi.StringPtrInput `pulumi:"scheme"` +} + +func (RouteSpecHttp2RouteMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteMatch)(nil)).Elem() +} + +func (i RouteSpecHttp2RouteMatchArgs) ToRouteSpecHttp2RouteMatchOutput() RouteSpecHttp2RouteMatchOutput { + return i.ToRouteSpecHttp2RouteMatchOutputWithContext(context.Background()) +} + +func (i RouteSpecHttp2RouteMatchArgs) ToRouteSpecHttp2RouteMatchOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchOutput) +} + +func (i RouteSpecHttp2RouteMatchArgs) ToRouteSpecHttp2RouteMatchPtrOutput() RouteSpecHttp2RouteMatchPtrOutput { + return i.ToRouteSpecHttp2RouteMatchPtrOutputWithContext(context.Background()) +} + +func (i RouteSpecHttp2RouteMatchArgs) ToRouteSpecHttp2RouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchOutput).ToRouteSpecHttp2RouteMatchPtrOutputWithContext(ctx) +} + +// RouteSpecHttp2RouteMatchPtrInput is an input type that accepts RouteSpecHttp2RouteMatchArgs, RouteSpecHttp2RouteMatchPtr and RouteSpecHttp2RouteMatchPtrOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteMatchPtrInput` via: +// +// RouteSpecHttp2RouteMatchArgs{...} +// +// or: +// +// nil +type RouteSpecHttp2RouteMatchPtrInput interface { + pulumi.Input + + ToRouteSpecHttp2RouteMatchPtrOutput() RouteSpecHttp2RouteMatchPtrOutput + ToRouteSpecHttp2RouteMatchPtrOutputWithContext(context.Context) RouteSpecHttp2RouteMatchPtrOutput +} + +type routeSpecHttp2RouteMatchPtrType RouteSpecHttp2RouteMatchArgs + +func RouteSpecHttp2RouteMatchPtr(v *RouteSpecHttp2RouteMatchArgs) RouteSpecHttp2RouteMatchPtrInput { + return (*routeSpecHttp2RouteMatchPtrType)(v) +} + +func (*routeSpecHttp2RouteMatchPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteMatch)(nil)).Elem() +} + +func (i *routeSpecHttp2RouteMatchPtrType) ToRouteSpecHttp2RouteMatchPtrOutput() RouteSpecHttp2RouteMatchPtrOutput { + return i.ToRouteSpecHttp2RouteMatchPtrOutputWithContext(context.Background()) +} + +func (i *routeSpecHttp2RouteMatchPtrType) ToRouteSpecHttp2RouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchPtrOutput) +} + +type RouteSpecHttp2RouteMatchOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttp2RouteMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteMatch)(nil)).Elem() +} + +func (o RouteSpecHttp2RouteMatchOutput) ToRouteSpecHttp2RouteMatchOutput() RouteSpecHttp2RouteMatchOutput { + return o +} + +func (o RouteSpecHttp2RouteMatchOutput) ToRouteSpecHttp2RouteMatchOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchOutput { + return o +} + +func (o RouteSpecHttp2RouteMatchOutput) ToRouteSpecHttp2RouteMatchPtrOutput() RouteSpecHttp2RouteMatchPtrOutput { + return o.ToRouteSpecHttp2RouteMatchPtrOutputWithContext(context.Background()) +} + +func (o RouteSpecHttp2RouteMatchOutput) ToRouteSpecHttp2RouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchPtrOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteMatch) *RouteSpecHttp2RouteMatch { + return &v + }).(RouteSpecHttp2RouteMatchPtrOutput) +} + +// The client request headers to match on. +func (o RouteSpecHttp2RouteMatchOutput) Headers() RouteSpecHttp2RouteMatchHeaderArrayOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteMatch) []RouteSpecHttp2RouteMatchHeader { return v.Headers }).(RouteSpecHttp2RouteMatchHeaderArrayOutput) +} + +// The 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 value sent by the client must begin with the specified characters. +// 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) +} + +// The 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) +} + +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 { return *v }).(RouteSpecHttp2RouteMatchOutput) +} + +// The 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) +} + +// The 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) +} + +// The value sent by the client must begin with the specified characters. +// 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) +} + +// The 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 RouteSpecHttp2RouteMatchHeader struct { + // If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + Invert *bool `pulumi:"invert"` + // The method and value to match the header value sent with a request. Specify one match method. + Match *RouteSpecHttp2RouteMatchHeaderMatch `pulumi:"match"` + // A name for the HTTP header in the client request that will be matched on. + Name string `pulumi:"name"` +} + +// 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 +} + +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"` + // The method and value to match the header value sent with a request. Specify one match method. + Match RouteSpecHttp2RouteMatchHeaderMatchPtrInput `pulumi:"match"` + // A name for the HTTP header in the client request that will be matched on. + Name pulumi.StringInput `pulumi:"name"` +} + +func (RouteSpecHttp2RouteMatchHeaderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteMatchHeader)(nil)).Elem() +} + +func (i RouteSpecHttp2RouteMatchHeaderArgs) ToRouteSpecHttp2RouteMatchHeaderOutput() RouteSpecHttp2RouteMatchHeaderOutput { + return i.ToRouteSpecHttp2RouteMatchHeaderOutputWithContext(context.Background()) +} + +func (i RouteSpecHttp2RouteMatchHeaderArgs) ToRouteSpecHttp2RouteMatchHeaderOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchHeaderOutput) +} + +// RouteSpecHttp2RouteMatchHeaderArrayInput is an input type that accepts RouteSpecHttp2RouteMatchHeaderArray and RouteSpecHttp2RouteMatchHeaderArrayOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteMatchHeaderArrayInput` via: +// +// RouteSpecHttp2RouteMatchHeaderArray{ RouteSpecHttp2RouteMatchHeaderArgs{...} } +type RouteSpecHttp2RouteMatchHeaderArrayInput interface { + pulumi.Input + + ToRouteSpecHttp2RouteMatchHeaderArrayOutput() RouteSpecHttp2RouteMatchHeaderArrayOutput + ToRouteSpecHttp2RouteMatchHeaderArrayOutputWithContext(context.Context) RouteSpecHttp2RouteMatchHeaderArrayOutput +} + +type RouteSpecHttp2RouteMatchHeaderArray []RouteSpecHttp2RouteMatchHeaderInput + +func (RouteSpecHttp2RouteMatchHeaderArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteSpecHttp2RouteMatchHeader)(nil)).Elem() +} + +func (i RouteSpecHttp2RouteMatchHeaderArray) ToRouteSpecHttp2RouteMatchHeaderArrayOutput() RouteSpecHttp2RouteMatchHeaderArrayOutput { + return i.ToRouteSpecHttp2RouteMatchHeaderArrayOutputWithContext(context.Background()) +} + +func (i RouteSpecHttp2RouteMatchHeaderArray) ToRouteSpecHttp2RouteMatchHeaderArrayOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchHeaderArrayOutput) +} + +type RouteSpecHttp2RouteMatchHeaderOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttp2RouteMatchHeaderOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteMatchHeader)(nil)).Elem() +} + +func (o RouteSpecHttp2RouteMatchHeaderOutput) ToRouteSpecHttp2RouteMatchHeaderOutput() RouteSpecHttp2RouteMatchHeaderOutput { + return o +} + +func (o RouteSpecHttp2RouteMatchHeaderOutput) ToRouteSpecHttp2RouteMatchHeaderOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderOutput { + 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) +} + +// The 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) +} + +// A 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 RouteSpecHttp2RouteMatchHeaderArrayOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttp2RouteMatchHeaderArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteSpecHttp2RouteMatchHeader)(nil)).Elem() +} + +func (o RouteSpecHttp2RouteMatchHeaderArrayOutput) ToRouteSpecHttp2RouteMatchHeaderArrayOutput() RouteSpecHttp2RouteMatchHeaderArrayOutput { + return o +} + +func (o RouteSpecHttp2RouteMatchHeaderArrayOutput) ToRouteSpecHttp2RouteMatchHeaderArrayOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderArrayOutput { + 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) +} + +type RouteSpecHttp2RouteMatchHeaderMatch struct { + // The value sent by the client must match the specified value exactly. + Exact *string `pulumi:"exact"` + // The value sent by the client must begin with the specified characters. + // This parameter must always start with /, which by itself matches all requests to the virtual router service name. + Prefix *string `pulumi:"prefix"` + // The object that specifies the range of numbers that the value sent by the client must be included in. + Range *RouteSpecHttp2RouteMatchHeaderMatchRange `pulumi:"range"` + // The value sent by the client must include the specified characters. + Regex *string `pulumi:"regex"` + // The value sent by the client must end with the specified characters. + Suffix *string `pulumi:"suffix"` +} + +// RouteSpecHttp2RouteMatchHeaderMatchInput is an input type that accepts RouteSpecHttp2RouteMatchHeaderMatchArgs and RouteSpecHttp2RouteMatchHeaderMatchOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteMatchHeaderMatchInput` via: +// +// RouteSpecHttp2RouteMatchHeaderMatchArgs{...} +type RouteSpecHttp2RouteMatchHeaderMatchInput interface { + pulumi.Input + + ToRouteSpecHttp2RouteMatchHeaderMatchOutput() RouteSpecHttp2RouteMatchHeaderMatchOutput + ToRouteSpecHttp2RouteMatchHeaderMatchOutputWithContext(context.Context) RouteSpecHttp2RouteMatchHeaderMatchOutput +} + +type RouteSpecHttp2RouteMatchHeaderMatchArgs struct { + // The value sent by the client must match the specified value exactly. + Exact pulumi.StringPtrInput `pulumi:"exact"` + // The value sent by the client must begin with the specified characters. + // This parameter must always start with /, which by itself matches all requests to the virtual router service name. + Prefix pulumi.StringPtrInput `pulumi:"prefix"` + // The object that specifies the range of numbers that the value sent by the client must be included in. + Range RouteSpecHttp2RouteMatchHeaderMatchRangePtrInput `pulumi:"range"` + // The value sent by the client must include the specified characters. + Regex pulumi.StringPtrInput `pulumi:"regex"` + // The value sent by the client must end with the specified characters. + Suffix pulumi.StringPtrInput `pulumi:"suffix"` +} + +func (RouteSpecHttp2RouteMatchHeaderMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteMatchHeaderMatch)(nil)).Elem() +} + +func (i RouteSpecHttp2RouteMatchHeaderMatchArgs) ToRouteSpecHttp2RouteMatchHeaderMatchOutput() RouteSpecHttp2RouteMatchHeaderMatchOutput { + return i.ToRouteSpecHttp2RouteMatchHeaderMatchOutputWithContext(context.Background()) +} + +func (i RouteSpecHttp2RouteMatchHeaderMatchArgs) ToRouteSpecHttp2RouteMatchHeaderMatchOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchHeaderMatchOutput) +} + +func (i RouteSpecHttp2RouteMatchHeaderMatchArgs) ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutput() RouteSpecHttp2RouteMatchHeaderMatchPtrOutput { + return i.ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(context.Background()) +} + +func (i RouteSpecHttp2RouteMatchHeaderMatchArgs) ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchHeaderMatchOutput).ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(ctx) +} + +// RouteSpecHttp2RouteMatchHeaderMatchPtrInput is an input type that accepts RouteSpecHttp2RouteMatchHeaderMatchArgs, RouteSpecHttp2RouteMatchHeaderMatchPtr and RouteSpecHttp2RouteMatchHeaderMatchPtrOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteMatchHeaderMatchPtrInput` via: +// +// RouteSpecHttp2RouteMatchHeaderMatchArgs{...} +// +// or: +// +// nil +type RouteSpecHttp2RouteMatchHeaderMatchPtrInput interface { + pulumi.Input + + ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutput() RouteSpecHttp2RouteMatchHeaderMatchPtrOutput + ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(context.Context) RouteSpecHttp2RouteMatchHeaderMatchPtrOutput +} + +type routeSpecHttp2RouteMatchHeaderMatchPtrType RouteSpecHttp2RouteMatchHeaderMatchArgs + +func RouteSpecHttp2RouteMatchHeaderMatchPtr(v *RouteSpecHttp2RouteMatchHeaderMatchArgs) RouteSpecHttp2RouteMatchHeaderMatchPtrInput { + return (*routeSpecHttp2RouteMatchHeaderMatchPtrType)(v) +} + +func (*routeSpecHttp2RouteMatchHeaderMatchPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteMatchHeaderMatch)(nil)).Elem() +} + +func (i *routeSpecHttp2RouteMatchHeaderMatchPtrType) ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutput() RouteSpecHttp2RouteMatchHeaderMatchPtrOutput { + return i.ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(context.Background()) +} + +func (i *routeSpecHttp2RouteMatchHeaderMatchPtrType) ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) +} + +type RouteSpecHttp2RouteMatchHeaderMatchOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttp2RouteMatchHeaderMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteMatchHeaderMatch)(nil)).Elem() +} + +func (o RouteSpecHttp2RouteMatchHeaderMatchOutput) ToRouteSpecHttp2RouteMatchHeaderMatchOutput() RouteSpecHttp2RouteMatchHeaderMatchOutput { + return o +} + +func (o RouteSpecHttp2RouteMatchHeaderMatchOutput) ToRouteSpecHttp2RouteMatchHeaderMatchOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchOutput { + return o +} + +func (o RouteSpecHttp2RouteMatchHeaderMatchOutput) ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutput() RouteSpecHttp2RouteMatchHeaderMatchPtrOutput { + return o.ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(context.Background()) +} + +func (o RouteSpecHttp2RouteMatchHeaderMatchOutput) ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchPtrOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteMatchHeaderMatch) *RouteSpecHttp2RouteMatchHeaderMatch { + return &v + }).(RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) +} + +// The value sent by the client must match the specified value exactly. +func (o RouteSpecHttp2RouteMatchHeaderMatchOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteMatchHeaderMatch) *string { return v.Exact }).(pulumi.StringPtrOutput) +} + +// The value sent by the client must begin with the specified characters. +// 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) +} + +// The 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) +} + +// The value sent by the client must include the specified characters. +func (o RouteSpecHttp2RouteMatchHeaderMatchOutput) Regex() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteMatchHeaderMatch) *string { return v.Regex }).(pulumi.StringPtrOutput) +} + +// The value sent by the client must end with the specified characters. +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 RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchPtrOutput { + return o +} + +func (o RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) Elem() RouteSpecHttp2RouteMatchHeaderMatchOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteMatchHeaderMatch) RouteSpecHttp2RouteMatchHeaderMatch { return *v }).(RouteSpecHttp2RouteMatchHeaderMatchOutput) +} + +// The value sent by the client must match the specified value exactly. +func (o RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteMatchHeaderMatch) *string { + if v == nil { + return nil + } + return v.Exact + }).(pulumi.StringPtrOutput) +} + +// The value sent by the client must begin with the specified characters. +// 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.Prefix + }).(pulumi.StringPtrOutput) +} + +// The 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) +} + +// The value sent by the client must include the specified characters. +func (o RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) Regex() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteMatchHeaderMatch) *string { + if v == nil { + return nil + } + return v.Regex + }).(pulumi.StringPtrOutput) +} + +// The value sent by the client must end with the specified characters. +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 { + // The end of the range. + End int `pulumi:"end"` + // The 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: +// +// RouteSpecHttp2RouteMatchHeaderMatchRangeArgs{...} +type RouteSpecHttp2RouteMatchHeaderMatchRangeInput interface { + pulumi.Input + + ToRouteSpecHttp2RouteMatchHeaderMatchRangeOutput() RouteSpecHttp2RouteMatchHeaderMatchRangeOutput + ToRouteSpecHttp2RouteMatchHeaderMatchRangeOutputWithContext(context.Context) RouteSpecHttp2RouteMatchHeaderMatchRangeOutput +} + +type RouteSpecHttp2RouteMatchHeaderMatchRangeArgs struct { + // The end of the range. + End pulumi.IntInput `pulumi:"end"` + // The start of the range. + Start pulumi.IntInput `pulumi:"start"` +} + +func (RouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteMatchHeaderMatchRange)(nil)).Elem() +} + +func (i RouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ToRouteSpecHttp2RouteMatchHeaderMatchRangeOutput() RouteSpecHttp2RouteMatchHeaderMatchRangeOutput { + return i.ToRouteSpecHttp2RouteMatchHeaderMatchRangeOutputWithContext(context.Background()) +} + +func (i RouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ToRouteSpecHttp2RouteMatchHeaderMatchRangeOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) +} + +func (i RouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput() RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { + return i.ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(context.Background()) +} + +func (i RouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchHeaderMatchRangeOutput).ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(ctx) +} + +// RouteSpecHttp2RouteMatchHeaderMatchRangePtrInput is an input type that accepts RouteSpecHttp2RouteMatchHeaderMatchRangeArgs, RouteSpecHttp2RouteMatchHeaderMatchRangePtr and RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteMatchHeaderMatchRangePtrInput` via: +// +// RouteSpecHttp2RouteMatchHeaderMatchRangeArgs{...} +// +// or: +// +// nil +type RouteSpecHttp2RouteMatchHeaderMatchRangePtrInput interface { + pulumi.Input + + ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput() RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput + ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(context.Context) RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput +} + +type routeSpecHttp2RouteMatchHeaderMatchRangePtrType RouteSpecHttp2RouteMatchHeaderMatchRangeArgs + +func RouteSpecHttp2RouteMatchHeaderMatchRangePtr(v *RouteSpecHttp2RouteMatchHeaderMatchRangeArgs) RouteSpecHttp2RouteMatchHeaderMatchRangePtrInput { + return (*routeSpecHttp2RouteMatchHeaderMatchRangePtrType)(v) +} + +func (*routeSpecHttp2RouteMatchHeaderMatchRangePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteMatchHeaderMatchRange)(nil)).Elem() +} + +func (i *routeSpecHttp2RouteMatchHeaderMatchRangePtrType) ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput() RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { + return i.ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(context.Background()) +} + +func (i *routeSpecHttp2RouteMatchHeaderMatchRangePtrType) ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) +} + +type RouteSpecHttp2RouteMatchHeaderMatchRangeOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteMatchHeaderMatchRange)(nil)).Elem() +} + +func (o RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ToRouteSpecHttp2RouteMatchHeaderMatchRangeOutput() RouteSpecHttp2RouteMatchHeaderMatchRangeOutput { + return o +} + +func (o RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ToRouteSpecHttp2RouteMatchHeaderMatchRangeOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchRangeOutput { + return o +} + +func (o RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput() RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { + return o.ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(context.Background()) +} + +func (o RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteMatchHeaderMatchRange) *RouteSpecHttp2RouteMatchHeaderMatchRange { + return &v + }).(RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) +} + +// The end of the range. +func (o RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) End() pulumi.IntOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteMatchHeaderMatchRange) int { return v.End }).(pulumi.IntOutput) +} + +// The start of the range. +func (o RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) Start() pulumi.IntOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteMatchHeaderMatchRange) int { return v.Start }).(pulumi.IntOutput) +} + +type RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteMatchHeaderMatchRange)(nil)).Elem() +} + +func (o RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput() RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { + return o +} + +func (o RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { + return o +} + +func (o RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) Elem() RouteSpecHttp2RouteMatchHeaderMatchRangeOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteMatchHeaderMatchRange) RouteSpecHttp2RouteMatchHeaderMatchRange { return *v }).(RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) +} + +// The 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) +} + +// The start of the range. +func (o RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) Start() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteMatchHeaderMatchRange) *int { + if v == nil { + return nil + } + return &v.Start + }).(pulumi.IntPtrOutput) +} + +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"` + // The maximum number of retries. + MaxRetries int `pulumi:"maxRetries"` + // The 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: +// +// RouteSpecHttp2RouteRetryPolicyArgs{...} +type RouteSpecHttp2RouteRetryPolicyInput 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"` + // The maximum number of retries. + MaxRetries pulumi.IntInput `pulumi:"maxRetries"` + // The 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() +} + +func (i RouteSpecHttp2RouteRetryPolicyArgs) ToRouteSpecHttp2RouteRetryPolicyOutput() RouteSpecHttp2RouteRetryPolicyOutput { + return i.ToRouteSpecHttp2RouteRetryPolicyOutputWithContext(context.Background()) +} + +func (i RouteSpecHttp2RouteRetryPolicyArgs) ToRouteSpecHttp2RouteRetryPolicyOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteRetryPolicyOutput) +} + +func (i RouteSpecHttp2RouteRetryPolicyArgs) ToRouteSpecHttp2RouteRetryPolicyPtrOutput() RouteSpecHttp2RouteRetryPolicyPtrOutput { + return i.ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(context.Background()) +} + +func (i RouteSpecHttp2RouteRetryPolicyArgs) ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteRetryPolicyOutput).ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(ctx) +} + +// RouteSpecHttp2RouteRetryPolicyPtrInput is an input type that accepts RouteSpecHttp2RouteRetryPolicyArgs, RouteSpecHttp2RouteRetryPolicyPtr and RouteSpecHttp2RouteRetryPolicyPtrOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteRetryPolicyPtrInput` via: +// +// RouteSpecHttp2RouteRetryPolicyArgs{...} +// +// or: +// +// nil +type RouteSpecHttp2RouteRetryPolicyPtrInput interface { + pulumi.Input + + ToRouteSpecHttp2RouteRetryPolicyPtrOutput() RouteSpecHttp2RouteRetryPolicyPtrOutput + ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(context.Context) RouteSpecHttp2RouteRetryPolicyPtrOutput +} + +type routeSpecHttp2RouteRetryPolicyPtrType RouteSpecHttp2RouteRetryPolicyArgs + +func RouteSpecHttp2RouteRetryPolicyPtr(v *RouteSpecHttp2RouteRetryPolicyArgs) RouteSpecHttp2RouteRetryPolicyPtrInput { + return (*routeSpecHttp2RouteRetryPolicyPtrType)(v) +} + +func (*routeSpecHttp2RouteRetryPolicyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteRetryPolicy)(nil)).Elem() +} + +func (i *routeSpecHttp2RouteRetryPolicyPtrType) ToRouteSpecHttp2RouteRetryPolicyPtrOutput() RouteSpecHttp2RouteRetryPolicyPtrOutput { + return i.ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(context.Background()) +} + +func (i *routeSpecHttp2RouteRetryPolicyPtrType) ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteRetryPolicyPtrOutput) +} + +type RouteSpecHttp2RouteRetryPolicyOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttp2RouteRetryPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteRetryPolicy)(nil)).Elem() +} + +func (o RouteSpecHttp2RouteRetryPolicyOutput) ToRouteSpecHttp2RouteRetryPolicyOutput() RouteSpecHttp2RouteRetryPolicyOutput { + return o +} + +func (o RouteSpecHttp2RouteRetryPolicyOutput) ToRouteSpecHttp2RouteRetryPolicyOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyOutput { + return o +} + +func (o RouteSpecHttp2RouteRetryPolicyOutput) ToRouteSpecHttp2RouteRetryPolicyPtrOutput() RouteSpecHttp2RouteRetryPolicyPtrOutput { + return o.ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(context.Background()) +} + +func (o RouteSpecHttp2RouteRetryPolicyOutput) ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPtrOutput { + return o.ApplyT(func(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) +} + +// The maximum number of retries. +func (o RouteSpecHttp2RouteRetryPolicyOutput) MaxRetries() pulumi.IntOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteRetryPolicy) int { return v.MaxRetries }).(pulumi.IntOutput) +} + +// The per-retry timeout. +func (o RouteSpecHttp2RouteRetryPolicyOutput) PerRetryTimeout() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteRetryPolicy) RouteSpecHttp2RouteRetryPolicyPerRetryTimeout { + return v.PerRetryTimeout + }).(RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) +} + +// 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 RouteSpecHttp2RouteRetryPolicyPtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttp2RouteRetryPolicyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteRetryPolicy)(nil)).Elem() +} + +func (o RouteSpecHttp2RouteRetryPolicyPtrOutput) ToRouteSpecHttp2RouteRetryPolicyPtrOutput() RouteSpecHttp2RouteRetryPolicyPtrOutput { + return o +} + +func (o RouteSpecHttp2RouteRetryPolicyPtrOutput) ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPtrOutput { + return o +} + +func (o RouteSpecHttp2RouteRetryPolicyPtrOutput) Elem() RouteSpecHttp2RouteRetryPolicyOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteRetryPolicy) RouteSpecHttp2RouteRetryPolicy { return *v }).(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) +} + +// The 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) +} + +// The 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) +} + +type RouteSpecHttp2RouteRetryPolicyPerRetryTimeout struct { + // Retry unit. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // Retry value. + Value int `pulumi:"value"` +} + +// RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutInput is an input type that accepts RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs and RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutInput` via: +// +// RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs{...} +type RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutInput interface { + pulumi.Input + + ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput + ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutputWithContext(context.Context) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput +} + +type RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs struct { + // Retry unit. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // Retry value. + Value pulumi.IntInput `pulumi:"value"` +} + +func (RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteRetryPolicyPerRetryTimeout)(nil)).Elem() +} + +func (i RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { + return i.ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutputWithContext(context.Background()) +} + +func (i RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) +} + +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: +// +// RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs{...} +// +// or: +// +// nil +type RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrInput interface { + pulumi.Input + + ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput + ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Context) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput +} + +type routeSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrType RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs + +func RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtr(v *RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrInput { + return (*routeSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrType)(v) +} + +func (*routeSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteRetryPolicyPerRetryTimeout)(nil)).Elem() +} + +func (i *routeSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrType) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput { + return i.ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Background()) +} + +func (i *routeSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrType) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput) +} + +type RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteRetryPolicyPerRetryTimeout)(nil)).Elem() +} + +func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { + return o +} + +func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { + return o +} + +func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput { + return o.ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Background()) +} + +func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteRetryPolicyPerRetryTimeout) *RouteSpecHttp2RouteRetryPolicyPerRetryTimeout { + return &v + }).(RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput) +} + +// Retry unit. Valid values: `ms`, `s`. +func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteRetryPolicyPerRetryTimeout) string { return v.Unit }).(pulumi.StringOutput) +} + +// Retry value. +func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteRetryPolicyPerRetryTimeout) int { return v.Value }).(pulumi.IntOutput) +} + +type RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteRetryPolicyPerRetryTimeout)(nil)).Elem() +} + +func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput { + return o +} + +func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput { + return o +} + +func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput) Elem() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteRetryPolicyPerRetryTimeout) RouteSpecHttp2RouteRetryPolicyPerRetryTimeout { + return *v + }).(RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) +} + +// 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) +} + +// 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 { + // The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + Idle *RouteSpecHttp2RouteTimeoutIdle `pulumi:"idle"` + // The 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: +// +// RouteSpecHttp2RouteTimeoutArgs{...} +type RouteSpecHttp2RouteTimeoutInput interface { + pulumi.Input + + ToRouteSpecHttp2RouteTimeoutOutput() RouteSpecHttp2RouteTimeoutOutput + ToRouteSpecHttp2RouteTimeoutOutputWithContext(context.Context) RouteSpecHttp2RouteTimeoutOutput +} + +type RouteSpecHttp2RouteTimeoutArgs struct { + // The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + Idle RouteSpecHttp2RouteTimeoutIdlePtrInput `pulumi:"idle"` + // The per request timeout. + PerRequest RouteSpecHttp2RouteTimeoutPerRequestPtrInput `pulumi:"perRequest"` +} + +func (RouteSpecHttp2RouteTimeoutArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteTimeout)(nil)).Elem() +} + +func (i RouteSpecHttp2RouteTimeoutArgs) ToRouteSpecHttp2RouteTimeoutOutput() RouteSpecHttp2RouteTimeoutOutput { + return i.ToRouteSpecHttp2RouteTimeoutOutputWithContext(context.Background()) +} + +func (i RouteSpecHttp2RouteTimeoutArgs) ToRouteSpecHttp2RouteTimeoutOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteTimeoutOutput) +} + +func (i RouteSpecHttp2RouteTimeoutArgs) ToRouteSpecHttp2RouteTimeoutPtrOutput() RouteSpecHttp2RouteTimeoutPtrOutput { + return i.ToRouteSpecHttp2RouteTimeoutPtrOutputWithContext(context.Background()) +} + +func (i RouteSpecHttp2RouteTimeoutArgs) ToRouteSpecHttp2RouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteTimeoutOutput).ToRouteSpecHttp2RouteTimeoutPtrOutputWithContext(ctx) +} + +// RouteSpecHttp2RouteTimeoutPtrInput is an input type that accepts RouteSpecHttp2RouteTimeoutArgs, RouteSpecHttp2RouteTimeoutPtr and RouteSpecHttp2RouteTimeoutPtrOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteTimeoutPtrInput` via: +// +// RouteSpecHttp2RouteTimeoutArgs{...} +// +// or: +// +// nil +type RouteSpecHttp2RouteTimeoutPtrInput interface { + pulumi.Input + + ToRouteSpecHttp2RouteTimeoutPtrOutput() RouteSpecHttp2RouteTimeoutPtrOutput + ToRouteSpecHttp2RouteTimeoutPtrOutputWithContext(context.Context) RouteSpecHttp2RouteTimeoutPtrOutput +} + +type routeSpecHttp2RouteTimeoutPtrType RouteSpecHttp2RouteTimeoutArgs + +func RouteSpecHttp2RouteTimeoutPtr(v *RouteSpecHttp2RouteTimeoutArgs) RouteSpecHttp2RouteTimeoutPtrInput { + return (*routeSpecHttp2RouteTimeoutPtrType)(v) +} + +func (*routeSpecHttp2RouteTimeoutPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteTimeout)(nil)).Elem() +} + +func (i *routeSpecHttp2RouteTimeoutPtrType) ToRouteSpecHttp2RouteTimeoutPtrOutput() RouteSpecHttp2RouteTimeoutPtrOutput { + return i.ToRouteSpecHttp2RouteTimeoutPtrOutputWithContext(context.Background()) +} + +func (i *routeSpecHttp2RouteTimeoutPtrType) ToRouteSpecHttp2RouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteTimeoutPtrOutput) +} + +type RouteSpecHttp2RouteTimeoutOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttp2RouteTimeoutOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteTimeout)(nil)).Elem() +} + +func (o RouteSpecHttp2RouteTimeoutOutput) ToRouteSpecHttp2RouteTimeoutOutput() RouteSpecHttp2RouteTimeoutOutput { + return o +} + +func (o RouteSpecHttp2RouteTimeoutOutput) ToRouteSpecHttp2RouteTimeoutOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutOutput { + return o +} + +func (o RouteSpecHttp2RouteTimeoutOutput) ToRouteSpecHttp2RouteTimeoutPtrOutput() RouteSpecHttp2RouteTimeoutPtrOutput { + return o.ToRouteSpecHttp2RouteTimeoutPtrOutputWithContext(context.Background()) +} + +func (o RouteSpecHttp2RouteTimeoutOutput) ToRouteSpecHttp2RouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutPtrOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteTimeout) *RouteSpecHttp2RouteTimeout { + return &v + }).(RouteSpecHttp2RouteTimeoutPtrOutput) +} + +// The 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) +} + +// The per request timeout. +func (o RouteSpecHttp2RouteTimeoutOutput) PerRequest() RouteSpecHttp2RouteTimeoutPerRequestPtrOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteTimeout) *RouteSpecHttp2RouteTimeoutPerRequest { return v.PerRequest }).(RouteSpecHttp2RouteTimeoutPerRequestPtrOutput) +} + +type RouteSpecHttp2RouteTimeoutPtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttp2RouteTimeoutPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteTimeout)(nil)).Elem() +} + +func (o RouteSpecHttp2RouteTimeoutPtrOutput) ToRouteSpecHttp2RouteTimeoutPtrOutput() RouteSpecHttp2RouteTimeoutPtrOutput { + return o +} + +func (o RouteSpecHttp2RouteTimeoutPtrOutput) ToRouteSpecHttp2RouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutPtrOutput { + return o +} + +func (o RouteSpecHttp2RouteTimeoutPtrOutput) Elem() RouteSpecHttp2RouteTimeoutOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteTimeout) RouteSpecHttp2RouteTimeout { return *v }).(RouteSpecHttp2RouteTimeoutOutput) +} + +// The 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) +} + +// The per request timeout. +func (o RouteSpecHttp2RouteTimeoutPtrOutput) PerRequest() RouteSpecHttp2RouteTimeoutPerRequestPtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteTimeout) *RouteSpecHttp2RouteTimeoutPerRequest { + if v == nil { + return nil + } + return v.PerRequest + }).(RouteSpecHttp2RouteTimeoutPerRequestPtrOutput) +} + +type RouteSpecHttp2RouteTimeoutIdle struct { + // The unit of time. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // The number of time units. Minimum value of `0`. + Value int `pulumi:"value"` +} + +// 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 +} + +type RouteSpecHttp2RouteTimeoutIdleArgs struct { + // The unit of time. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // The number of time units. Minimum value of `0`. + Value pulumi.IntInput `pulumi:"value"` +} + +func (RouteSpecHttp2RouteTimeoutIdleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteTimeoutIdle)(nil)).Elem() +} + +func (i RouteSpecHttp2RouteTimeoutIdleArgs) ToRouteSpecHttp2RouteTimeoutIdleOutput() RouteSpecHttp2RouteTimeoutIdleOutput { + return i.ToRouteSpecHttp2RouteTimeoutIdleOutputWithContext(context.Background()) +} + +func (i RouteSpecHttp2RouteTimeoutIdleArgs) ToRouteSpecHttp2RouteTimeoutIdleOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutIdleOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteTimeoutIdleOutput) +} + +func (i RouteSpecHttp2RouteTimeoutIdleArgs) ToRouteSpecHttp2RouteTimeoutIdlePtrOutput() RouteSpecHttp2RouteTimeoutIdlePtrOutput { + return i.ToRouteSpecHttp2RouteTimeoutIdlePtrOutputWithContext(context.Background()) +} + +func (i RouteSpecHttp2RouteTimeoutIdleArgs) ToRouteSpecHttp2RouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutIdlePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteTimeoutIdleOutput).ToRouteSpecHttp2RouteTimeoutIdlePtrOutputWithContext(ctx) +} + +// RouteSpecHttp2RouteTimeoutIdlePtrInput is an input type that accepts RouteSpecHttp2RouteTimeoutIdleArgs, RouteSpecHttp2RouteTimeoutIdlePtr and RouteSpecHttp2RouteTimeoutIdlePtrOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteTimeoutIdlePtrInput` via: +// +// RouteSpecHttp2RouteTimeoutIdleArgs{...} +// +// or: +// +// nil +type RouteSpecHttp2RouteTimeoutIdlePtrInput interface { + pulumi.Input + + ToRouteSpecHttp2RouteTimeoutIdlePtrOutput() RouteSpecHttp2RouteTimeoutIdlePtrOutput + ToRouteSpecHttp2RouteTimeoutIdlePtrOutputWithContext(context.Context) RouteSpecHttp2RouteTimeoutIdlePtrOutput +} + +type routeSpecHttp2RouteTimeoutIdlePtrType RouteSpecHttp2RouteTimeoutIdleArgs + +func RouteSpecHttp2RouteTimeoutIdlePtr(v *RouteSpecHttp2RouteTimeoutIdleArgs) RouteSpecHttp2RouteTimeoutIdlePtrInput { + return (*routeSpecHttp2RouteTimeoutIdlePtrType)(v) +} + +func (*routeSpecHttp2RouteTimeoutIdlePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteTimeoutIdle)(nil)).Elem() +} + +func (i *routeSpecHttp2RouteTimeoutIdlePtrType) ToRouteSpecHttp2RouteTimeoutIdlePtrOutput() RouteSpecHttp2RouteTimeoutIdlePtrOutput { + return i.ToRouteSpecHttp2RouteTimeoutIdlePtrOutputWithContext(context.Background()) +} + +func (i *routeSpecHttp2RouteTimeoutIdlePtrType) ToRouteSpecHttp2RouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutIdlePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteTimeoutIdlePtrOutput) +} + +type RouteSpecHttp2RouteTimeoutIdleOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttp2RouteTimeoutIdleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteTimeoutIdle)(nil)).Elem() +} + +func (o RouteSpecHttp2RouteTimeoutIdleOutput) ToRouteSpecHttp2RouteTimeoutIdleOutput() RouteSpecHttp2RouteTimeoutIdleOutput { + return o +} + +func (o RouteSpecHttp2RouteTimeoutIdleOutput) ToRouteSpecHttp2RouteTimeoutIdleOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutIdleOutput { + return o +} + +func (o RouteSpecHttp2RouteTimeoutIdleOutput) ToRouteSpecHttp2RouteTimeoutIdlePtrOutput() RouteSpecHttp2RouteTimeoutIdlePtrOutput { + return o.ToRouteSpecHttp2RouteTimeoutIdlePtrOutputWithContext(context.Background()) +} + +func (o RouteSpecHttp2RouteTimeoutIdleOutput) ToRouteSpecHttp2RouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutIdlePtrOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteTimeoutIdle) *RouteSpecHttp2RouteTimeoutIdle { + return &v + }).(RouteSpecHttp2RouteTimeoutIdlePtrOutput) +} + +// The 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 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 RouteSpecHttp2RouteTimeoutIdlePtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttp2RouteTimeoutIdlePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteTimeoutIdle)(nil)).Elem() +} + +func (o RouteSpecHttp2RouteTimeoutIdlePtrOutput) ToRouteSpecHttp2RouteTimeoutIdlePtrOutput() RouteSpecHttp2RouteTimeoutIdlePtrOutput { + return o +} + +func (o RouteSpecHttp2RouteTimeoutIdlePtrOutput) ToRouteSpecHttp2RouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutIdlePtrOutput { + return o +} + +func (o RouteSpecHttp2RouteTimeoutIdlePtrOutput) Elem() RouteSpecHttp2RouteTimeoutIdleOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteTimeoutIdle) RouteSpecHttp2RouteTimeoutIdle { return *v }).(RouteSpecHttp2RouteTimeoutIdleOutput) +} + +// The 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.Unit + }).(pulumi.StringPtrOutput) +} + +// The 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.Value + }).(pulumi.IntPtrOutput) +} + +type RouteSpecHttp2RouteTimeoutPerRequest struct { + // The unit of time. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // The number of time units. Minimum value of `0`. + Value int `pulumi:"value"` +} + +// RouteSpecHttp2RouteTimeoutPerRequestInput is an input type that accepts RouteSpecHttp2RouteTimeoutPerRequestArgs and RouteSpecHttp2RouteTimeoutPerRequestOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteTimeoutPerRequestInput` via: +// +// RouteSpecHttp2RouteTimeoutPerRequestArgs{...} +type RouteSpecHttp2RouteTimeoutPerRequestInput interface { + pulumi.Input + + ToRouteSpecHttp2RouteTimeoutPerRequestOutput() RouteSpecHttp2RouteTimeoutPerRequestOutput + ToRouteSpecHttp2RouteTimeoutPerRequestOutputWithContext(context.Context) RouteSpecHttp2RouteTimeoutPerRequestOutput +} + +type RouteSpecHttp2RouteTimeoutPerRequestArgs struct { + // The unit of time. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // The number of time units. Minimum value of `0`. + Value pulumi.IntInput `pulumi:"value"` +} + +func (RouteSpecHttp2RouteTimeoutPerRequestArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteTimeoutPerRequest)(nil)).Elem() +} + +func (i RouteSpecHttp2RouteTimeoutPerRequestArgs) ToRouteSpecHttp2RouteTimeoutPerRequestOutput() RouteSpecHttp2RouteTimeoutPerRequestOutput { + return i.ToRouteSpecHttp2RouteTimeoutPerRequestOutputWithContext(context.Background()) +} + +func (i RouteSpecHttp2RouteTimeoutPerRequestArgs) ToRouteSpecHttp2RouteTimeoutPerRequestOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutPerRequestOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteTimeoutPerRequestOutput) +} + +func (i RouteSpecHttp2RouteTimeoutPerRequestArgs) ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutput() RouteSpecHttp2RouteTimeoutPerRequestPtrOutput { + return i.ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutputWithContext(context.Background()) +} + +func (i RouteSpecHttp2RouteTimeoutPerRequestArgs) ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutPerRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteTimeoutPerRequestOutput).ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutputWithContext(ctx) +} + +// RouteSpecHttp2RouteTimeoutPerRequestPtrInput is an input type that accepts RouteSpecHttp2RouteTimeoutPerRequestArgs, RouteSpecHttp2RouteTimeoutPerRequestPtr and RouteSpecHttp2RouteTimeoutPerRequestPtrOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteTimeoutPerRequestPtrInput` via: +// +// RouteSpecHttp2RouteTimeoutPerRequestArgs{...} +// +// or: +// +// nil +type RouteSpecHttp2RouteTimeoutPerRequestPtrInput interface { + pulumi.Input + + ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutput() RouteSpecHttp2RouteTimeoutPerRequestPtrOutput + ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutputWithContext(context.Context) RouteSpecHttp2RouteTimeoutPerRequestPtrOutput +} + +type routeSpecHttp2RouteTimeoutPerRequestPtrType RouteSpecHttp2RouteTimeoutPerRequestArgs + +func RouteSpecHttp2RouteTimeoutPerRequestPtr(v *RouteSpecHttp2RouteTimeoutPerRequestArgs) RouteSpecHttp2RouteTimeoutPerRequestPtrInput { + return (*routeSpecHttp2RouteTimeoutPerRequestPtrType)(v) +} + +func (*routeSpecHttp2RouteTimeoutPerRequestPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteTimeoutPerRequest)(nil)).Elem() +} + +func (i *routeSpecHttp2RouteTimeoutPerRequestPtrType) ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutput() RouteSpecHttp2RouteTimeoutPerRequestPtrOutput { + return i.ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutputWithContext(context.Background()) +} + +func (i *routeSpecHttp2RouteTimeoutPerRequestPtrType) ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutPerRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteTimeoutPerRequestPtrOutput) +} + +type RouteSpecHttp2RouteTimeoutPerRequestOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttp2RouteTimeoutPerRequestOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteTimeoutPerRequest)(nil)).Elem() +} + +func (o RouteSpecHttp2RouteTimeoutPerRequestOutput) ToRouteSpecHttp2RouteTimeoutPerRequestOutput() RouteSpecHttp2RouteTimeoutPerRequestOutput { + return o +} + +func (o RouteSpecHttp2RouteTimeoutPerRequestOutput) ToRouteSpecHttp2RouteTimeoutPerRequestOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutPerRequestOutput { + return o +} + +func (o RouteSpecHttp2RouteTimeoutPerRequestOutput) ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutput() RouteSpecHttp2RouteTimeoutPerRequestPtrOutput { + return o.ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutputWithContext(context.Background()) +} + +func (o RouteSpecHttp2RouteTimeoutPerRequestOutput) ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutPerRequestPtrOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteTimeoutPerRequest) *RouteSpecHttp2RouteTimeoutPerRequest { + return &v + }).(RouteSpecHttp2RouteTimeoutPerRequestPtrOutput) +} + +// The 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) +} + +// The 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 RouteSpecHttp2RouteTimeoutPerRequestPtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttp2RouteTimeoutPerRequestPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteTimeoutPerRequest)(nil)).Elem() +} + +func (o RouteSpecHttp2RouteTimeoutPerRequestPtrOutput) ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutput() RouteSpecHttp2RouteTimeoutPerRequestPtrOutput { + return o +} + +func (o RouteSpecHttp2RouteTimeoutPerRequestPtrOutput) ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutPerRequestPtrOutput { + return o +} + +func (o RouteSpecHttp2RouteTimeoutPerRequestPtrOutput) Elem() RouteSpecHttp2RouteTimeoutPerRequestOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteTimeoutPerRequest) RouteSpecHttp2RouteTimeoutPerRequest { return *v }).(RouteSpecHttp2RouteTimeoutPerRequestOutput) +} + +// The 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.Unit + }).(pulumi.StringPtrOutput) +} + +// The 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.Value + }).(pulumi.IntPtrOutput) +} + +type RouteSpecHttpRoute struct { + // The action to take if a match is determined. + Action RouteSpecHttpRouteAction `pulumi:"action"` + // The criteria for determining an HTTP request match. + Match RouteSpecHttpRouteMatch `pulumi:"match"` + // The retry policy. + RetryPolicy *RouteSpecHttpRouteRetryPolicy `pulumi:"retryPolicy"` + // The types of timeouts. + Timeout *RouteSpecHttpRouteTimeout `pulumi:"timeout"` +} + +// RouteSpecHttpRouteInput is an input type that accepts RouteSpecHttpRouteArgs and RouteSpecHttpRouteOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteInput` via: +// +// RouteSpecHttpRouteArgs{...} +type RouteSpecHttpRouteInput interface { + pulumi.Input + + ToRouteSpecHttpRouteOutput() RouteSpecHttpRouteOutput + ToRouteSpecHttpRouteOutputWithContext(context.Context) RouteSpecHttpRouteOutput +} + +type RouteSpecHttpRouteArgs struct { + // The action to take if a match is determined. + Action RouteSpecHttpRouteActionInput `pulumi:"action"` + // The criteria for determining an HTTP request match. + Match RouteSpecHttpRouteMatchInput `pulumi:"match"` + // The retry policy. + RetryPolicy RouteSpecHttpRouteRetryPolicyPtrInput `pulumi:"retryPolicy"` + // The types of timeouts. + Timeout RouteSpecHttpRouteTimeoutPtrInput `pulumi:"timeout"` +} + +func (RouteSpecHttpRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRoute)(nil)).Elem() +} + +func (i RouteSpecHttpRouteArgs) ToRouteSpecHttpRouteOutput() RouteSpecHttpRouteOutput { + return i.ToRouteSpecHttpRouteOutputWithContext(context.Background()) +} + +func (i RouteSpecHttpRouteArgs) ToRouteSpecHttpRouteOutputWithContext(ctx context.Context) RouteSpecHttpRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteOutput) +} + +func (i RouteSpecHttpRouteArgs) ToRouteSpecHttpRoutePtrOutput() RouteSpecHttpRoutePtrOutput { + return i.ToRouteSpecHttpRoutePtrOutputWithContext(context.Background()) +} + +func (i RouteSpecHttpRouteArgs) ToRouteSpecHttpRoutePtrOutputWithContext(ctx context.Context) RouteSpecHttpRoutePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteOutput).ToRouteSpecHttpRoutePtrOutputWithContext(ctx) +} + +// RouteSpecHttpRoutePtrInput is an input type that accepts RouteSpecHttpRouteArgs, RouteSpecHttpRoutePtr and RouteSpecHttpRoutePtrOutput values. +// You can construct a concrete instance of `RouteSpecHttpRoutePtrInput` via: +// +// RouteSpecHttpRouteArgs{...} +// +// or: +// +// nil +type RouteSpecHttpRoutePtrInput interface { + pulumi.Input + + ToRouteSpecHttpRoutePtrOutput() RouteSpecHttpRoutePtrOutput + ToRouteSpecHttpRoutePtrOutputWithContext(context.Context) RouteSpecHttpRoutePtrOutput +} + +type routeSpecHttpRoutePtrType RouteSpecHttpRouteArgs + +func RouteSpecHttpRoutePtr(v *RouteSpecHttpRouteArgs) RouteSpecHttpRoutePtrInput { + return (*routeSpecHttpRoutePtrType)(v) +} + +func (*routeSpecHttpRoutePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRoute)(nil)).Elem() +} + +func (i *routeSpecHttpRoutePtrType) ToRouteSpecHttpRoutePtrOutput() RouteSpecHttpRoutePtrOutput { + return i.ToRouteSpecHttpRoutePtrOutputWithContext(context.Background()) +} + +func (i *routeSpecHttpRoutePtrType) ToRouteSpecHttpRoutePtrOutputWithContext(ctx context.Context) RouteSpecHttpRoutePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRoutePtrOutput) +} + +type RouteSpecHttpRouteOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttpRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRoute)(nil)).Elem() +} + +func (o RouteSpecHttpRouteOutput) ToRouteSpecHttpRouteOutput() RouteSpecHttpRouteOutput { + return o +} + +func (o RouteSpecHttpRouteOutput) ToRouteSpecHttpRouteOutputWithContext(ctx context.Context) RouteSpecHttpRouteOutput { + return o +} + +func (o RouteSpecHttpRouteOutput) ToRouteSpecHttpRoutePtrOutput() RouteSpecHttpRoutePtrOutput { + return o.ToRouteSpecHttpRoutePtrOutputWithContext(context.Background()) +} + +func (o RouteSpecHttpRouteOutput) ToRouteSpecHttpRoutePtrOutputWithContext(ctx context.Context) RouteSpecHttpRoutePtrOutput { + return o.ApplyT(func(v RouteSpecHttpRoute) *RouteSpecHttpRoute { + return &v + }).(RouteSpecHttpRoutePtrOutput) +} + +// The action to take if a match is determined. +func (o RouteSpecHttpRouteOutput) Action() RouteSpecHttpRouteActionOutput { + return o.ApplyT(func(v RouteSpecHttpRoute) RouteSpecHttpRouteAction { return v.Action }).(RouteSpecHttpRouteActionOutput) +} + +// The criteria for determining an HTTP request match. +func (o RouteSpecHttpRouteOutput) Match() RouteSpecHttpRouteMatchOutput { + return o.ApplyT(func(v RouteSpecHttpRoute) RouteSpecHttpRouteMatch { return v.Match }).(RouteSpecHttpRouteMatchOutput) +} + +// The retry policy. +func (o RouteSpecHttpRouteOutput) RetryPolicy() RouteSpecHttpRouteRetryPolicyPtrOutput { + return o.ApplyT(func(v RouteSpecHttpRoute) *RouteSpecHttpRouteRetryPolicy { return v.RetryPolicy }).(RouteSpecHttpRouteRetryPolicyPtrOutput) +} + +// The types of timeouts. +func (o RouteSpecHttpRouteOutput) Timeout() RouteSpecHttpRouteTimeoutPtrOutput { + return o.ApplyT(func(v RouteSpecHttpRoute) *RouteSpecHttpRouteTimeout { return v.Timeout }).(RouteSpecHttpRouteTimeoutPtrOutput) +} + +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 RouteSpecHttpRoutePtrOutput) ToRouteSpecHttpRoutePtrOutputWithContext(ctx context.Context) RouteSpecHttpRoutePtrOutput { + return o +} + +func (o RouteSpecHttpRoutePtrOutput) Elem() RouteSpecHttpRouteOutput { + return o.ApplyT(func(v *RouteSpecHttpRoute) RouteSpecHttpRoute { return *v }).(RouteSpecHttpRouteOutput) +} + +// The 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) +} + +// The 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) +} + +// The retry policy. +func (o RouteSpecHttpRoutePtrOutput) RetryPolicy() RouteSpecHttpRouteRetryPolicyPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRoute) *RouteSpecHttpRouteRetryPolicy { + if v == nil { + return nil + } + return v.RetryPolicy + }).(RouteSpecHttpRouteRetryPolicyPtrOutput) +} + +// The 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 { + // The 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 + + ToRouteSpecHttpRouteActionOutput() RouteSpecHttpRouteActionOutput + ToRouteSpecHttpRouteActionOutputWithContext(context.Context) RouteSpecHttpRouteActionOutput +} + +type RouteSpecHttpRouteActionArgs struct { + // The 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 (RouteSpecHttpRouteActionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteAction)(nil)).Elem() +} + +func (i RouteSpecHttpRouteActionArgs) ToRouteSpecHttpRouteActionOutput() RouteSpecHttpRouteActionOutput { + return i.ToRouteSpecHttpRouteActionOutputWithContext(context.Background()) +} + +func (i RouteSpecHttpRouteActionArgs) ToRouteSpecHttpRouteActionOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteActionOutput) +} + +func (i RouteSpecHttpRouteActionArgs) ToRouteSpecHttpRouteActionPtrOutput() RouteSpecHttpRouteActionPtrOutput { + return i.ToRouteSpecHttpRouteActionPtrOutputWithContext(context.Background()) +} + +func (i RouteSpecHttpRouteActionArgs) ToRouteSpecHttpRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteActionOutput).ToRouteSpecHttpRouteActionPtrOutputWithContext(ctx) +} + +// RouteSpecHttpRouteActionPtrInput is an input type that accepts RouteSpecHttpRouteActionArgs, RouteSpecHttpRouteActionPtr and RouteSpecHttpRouteActionPtrOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteActionPtrInput` via: +// +// RouteSpecHttpRouteActionArgs{...} +// +// or: +// +// nil +type RouteSpecHttpRouteActionPtrInput interface { + pulumi.Input + + ToRouteSpecHttpRouteActionPtrOutput() RouteSpecHttpRouteActionPtrOutput + ToRouteSpecHttpRouteActionPtrOutputWithContext(context.Context) RouteSpecHttpRouteActionPtrOutput +} + +type routeSpecHttpRouteActionPtrType RouteSpecHttpRouteActionArgs + +func RouteSpecHttpRouteActionPtr(v *RouteSpecHttpRouteActionArgs) RouteSpecHttpRouteActionPtrInput { + return (*routeSpecHttpRouteActionPtrType)(v) +} + +func (*routeSpecHttpRouteActionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteAction)(nil)).Elem() +} + +func (i *routeSpecHttpRouteActionPtrType) ToRouteSpecHttpRouteActionPtrOutput() RouteSpecHttpRouteActionPtrOutput { + return i.ToRouteSpecHttpRouteActionPtrOutputWithContext(context.Background()) +} + +func (i *routeSpecHttpRouteActionPtrType) ToRouteSpecHttpRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteActionPtrOutput) +} + +type RouteSpecHttpRouteActionOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttpRouteActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteAction)(nil)).Elem() +} + +func (o RouteSpecHttpRouteActionOutput) ToRouteSpecHttpRouteActionOutput() RouteSpecHttpRouteActionOutput { + return o +} + +func (o RouteSpecHttpRouteActionOutput) ToRouteSpecHttpRouteActionOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionOutput { + return o +} + +func (o RouteSpecHttpRouteActionOutput) ToRouteSpecHttpRouteActionPtrOutput() RouteSpecHttpRouteActionPtrOutput { + return o.ToRouteSpecHttpRouteActionPtrOutputWithContext(context.Background()) +} + +func (o RouteSpecHttpRouteActionOutput) ToRouteSpecHttpRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionPtrOutput { + return o.ApplyT(func(v RouteSpecHttpRouteAction) *RouteSpecHttpRouteAction { + return &v + }).(RouteSpecHttpRouteActionPtrOutput) +} + +// The 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 RouteSpecHttpRouteActionPtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttpRouteActionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteAction)(nil)).Elem() +} + +func (o RouteSpecHttpRouteActionPtrOutput) ToRouteSpecHttpRouteActionPtrOutput() RouteSpecHttpRouteActionPtrOutput { + return o +} + +func (o RouteSpecHttpRouteActionPtrOutput) ToRouteSpecHttpRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionPtrOutput { + return o +} + +func (o RouteSpecHttpRouteActionPtrOutput) Elem() RouteSpecHttpRouteActionOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteAction) RouteSpecHttpRouteAction { return *v }).(RouteSpecHttpRouteActionOutput) +} + +// The 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) +} + +type RouteSpecHttpRouteActionWeightedTarget struct { + // The virtual node to associate with the weighted target. + VirtualNode string `pulumi:"virtualNode"` + // The relative weight of the weighted target. An integer between 0 and 100. + Weight int `pulumi:"weight"` +} + +// RouteSpecHttpRouteActionWeightedTargetInput is an input type that accepts RouteSpecHttpRouteActionWeightedTargetArgs and RouteSpecHttpRouteActionWeightedTargetOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteActionWeightedTargetInput` via: +// +// RouteSpecHttpRouteActionWeightedTargetArgs{...} +type RouteSpecHttpRouteActionWeightedTargetInput interface { + pulumi.Input + + ToRouteSpecHttpRouteActionWeightedTargetOutput() RouteSpecHttpRouteActionWeightedTargetOutput + ToRouteSpecHttpRouteActionWeightedTargetOutputWithContext(context.Context) RouteSpecHttpRouteActionWeightedTargetOutput +} + +type RouteSpecHttpRouteActionWeightedTargetArgs struct { + // The virtual node to associate with the weighted target. + VirtualNode pulumi.StringInput `pulumi:"virtualNode"` + // The relative weight of the weighted target. An integer between 0 and 100. + Weight pulumi.IntInput `pulumi:"weight"` +} + +func (RouteSpecHttpRouteActionWeightedTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteActionWeightedTarget)(nil)).Elem() +} + +func (i RouteSpecHttpRouteActionWeightedTargetArgs) ToRouteSpecHttpRouteActionWeightedTargetOutput() RouteSpecHttpRouteActionWeightedTargetOutput { + return i.ToRouteSpecHttpRouteActionWeightedTargetOutputWithContext(context.Background()) +} + +func (i RouteSpecHttpRouteActionWeightedTargetArgs) ToRouteSpecHttpRouteActionWeightedTargetOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionWeightedTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteActionWeightedTargetOutput) +} + +// RouteSpecHttpRouteActionWeightedTargetArrayInput is an input type that accepts RouteSpecHttpRouteActionWeightedTargetArray and RouteSpecHttpRouteActionWeightedTargetArrayOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteActionWeightedTargetArrayInput` via: +// +// RouteSpecHttpRouteActionWeightedTargetArray{ RouteSpecHttpRouteActionWeightedTargetArgs{...} } +type RouteSpecHttpRouteActionWeightedTargetArrayInput interface { + pulumi.Input + + ToRouteSpecHttpRouteActionWeightedTargetArrayOutput() RouteSpecHttpRouteActionWeightedTargetArrayOutput + ToRouteSpecHttpRouteActionWeightedTargetArrayOutputWithContext(context.Context) RouteSpecHttpRouteActionWeightedTargetArrayOutput +} + +type RouteSpecHttpRouteActionWeightedTargetArray []RouteSpecHttpRouteActionWeightedTargetInput + +func (RouteSpecHttpRouteActionWeightedTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteSpecHttpRouteActionWeightedTarget)(nil)).Elem() +} + +func (i RouteSpecHttpRouteActionWeightedTargetArray) ToRouteSpecHttpRouteActionWeightedTargetArrayOutput() RouteSpecHttpRouteActionWeightedTargetArrayOutput { + return i.ToRouteSpecHttpRouteActionWeightedTargetArrayOutputWithContext(context.Background()) +} + +func (i RouteSpecHttpRouteActionWeightedTargetArray) ToRouteSpecHttpRouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionWeightedTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteActionWeightedTargetArrayOutput) +} + +type RouteSpecHttpRouteActionWeightedTargetOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttpRouteActionWeightedTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteActionWeightedTarget)(nil)).Elem() +} + +func (o RouteSpecHttpRouteActionWeightedTargetOutput) ToRouteSpecHttpRouteActionWeightedTargetOutput() RouteSpecHttpRouteActionWeightedTargetOutput { + return o +} + +func (o RouteSpecHttpRouteActionWeightedTargetOutput) ToRouteSpecHttpRouteActionWeightedTargetOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionWeightedTargetOutput { + return o +} + +// The virtual node to associate with the weighted target. +func (o RouteSpecHttpRouteActionWeightedTargetOutput) VirtualNode() pulumi.StringOutput { + return o.ApplyT(func(v RouteSpecHttpRouteActionWeightedTarget) string { return v.VirtualNode }).(pulumi.StringOutput) +} + +// The 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 RouteSpecHttpRouteActionWeightedTargetArrayOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttpRouteActionWeightedTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteSpecHttpRouteActionWeightedTarget)(nil)).Elem() +} + +func (o RouteSpecHttpRouteActionWeightedTargetArrayOutput) ToRouteSpecHttpRouteActionWeightedTargetArrayOutput() RouteSpecHttpRouteActionWeightedTargetArrayOutput { + return o +} + +func (o RouteSpecHttpRouteActionWeightedTargetArrayOutput) ToRouteSpecHttpRouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionWeightedTargetArrayOutput { + 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) +} + +type RouteSpecHttpRouteMatch struct { + // The client request headers to match on. + Headers []RouteSpecHttpRouteMatchHeader `pulumi:"headers"` + // The client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. + Method *string `pulumi:"method"` + // The value sent by the client must begin with the specified characters. + // This parameter must always start with /, which by itself matches all requests to the virtual router service name. + Prefix string `pulumi:"prefix"` + // The client request header scheme to match on. Valid values: `http`, `https`. + Scheme *string `pulumi:"scheme"` +} + +// RouteSpecHttpRouteMatchInput is an input type that accepts RouteSpecHttpRouteMatchArgs and RouteSpecHttpRouteMatchOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteMatchInput` via: +// +// RouteSpecHttpRouteMatchArgs{...} +type RouteSpecHttpRouteMatchInput interface { + pulumi.Input + + ToRouteSpecHttpRouteMatchOutput() RouteSpecHttpRouteMatchOutput + ToRouteSpecHttpRouteMatchOutputWithContext(context.Context) RouteSpecHttpRouteMatchOutput +} + +type RouteSpecHttpRouteMatchArgs struct { + // The client request headers to match on. + Headers RouteSpecHttpRouteMatchHeaderArrayInput `pulumi:"headers"` + // The client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. + Method pulumi.StringPtrInput `pulumi:"method"` + // The value sent by the client must begin with the specified characters. + // This parameter must always start with /, which by itself matches all requests to the virtual router service name. + Prefix pulumi.StringInput `pulumi:"prefix"` + // The client request header scheme to match on. Valid values: `http`, `https`. + Scheme pulumi.StringPtrInput `pulumi:"scheme"` +} + +func (RouteSpecHttpRouteMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteMatch)(nil)).Elem() +} + +func (i RouteSpecHttpRouteMatchArgs) ToRouteSpecHttpRouteMatchOutput() RouteSpecHttpRouteMatchOutput { + return i.ToRouteSpecHttpRouteMatchOutputWithContext(context.Background()) +} + +func (i RouteSpecHttpRouteMatchArgs) ToRouteSpecHttpRouteMatchOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchOutput) +} + +func (i RouteSpecHttpRouteMatchArgs) ToRouteSpecHttpRouteMatchPtrOutput() RouteSpecHttpRouteMatchPtrOutput { + return i.ToRouteSpecHttpRouteMatchPtrOutputWithContext(context.Background()) +} + +func (i RouteSpecHttpRouteMatchArgs) ToRouteSpecHttpRouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchOutput).ToRouteSpecHttpRouteMatchPtrOutputWithContext(ctx) +} + +// RouteSpecHttpRouteMatchPtrInput is an input type that accepts RouteSpecHttpRouteMatchArgs, RouteSpecHttpRouteMatchPtr and RouteSpecHttpRouteMatchPtrOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteMatchPtrInput` via: +// +// RouteSpecHttpRouteMatchArgs{...} +// +// or: +// +// nil +type RouteSpecHttpRouteMatchPtrInput interface { + pulumi.Input + + ToRouteSpecHttpRouteMatchPtrOutput() RouteSpecHttpRouteMatchPtrOutput + ToRouteSpecHttpRouteMatchPtrOutputWithContext(context.Context) RouteSpecHttpRouteMatchPtrOutput +} + +type routeSpecHttpRouteMatchPtrType RouteSpecHttpRouteMatchArgs + +func RouteSpecHttpRouteMatchPtr(v *RouteSpecHttpRouteMatchArgs) RouteSpecHttpRouteMatchPtrInput { + return (*routeSpecHttpRouteMatchPtrType)(v) +} + +func (*routeSpecHttpRouteMatchPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteMatch)(nil)).Elem() +} + +func (i *routeSpecHttpRouteMatchPtrType) ToRouteSpecHttpRouteMatchPtrOutput() RouteSpecHttpRouteMatchPtrOutput { + return i.ToRouteSpecHttpRouteMatchPtrOutputWithContext(context.Background()) +} + +func (i *routeSpecHttpRouteMatchPtrType) ToRouteSpecHttpRouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchPtrOutput) +} + +type RouteSpecHttpRouteMatchOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttpRouteMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteMatch)(nil)).Elem() +} + +func (o RouteSpecHttpRouteMatchOutput) ToRouteSpecHttpRouteMatchOutput() RouteSpecHttpRouteMatchOutput { + return o +} + +func (o RouteSpecHttpRouteMatchOutput) ToRouteSpecHttpRouteMatchOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchOutput { + return o +} + +func (o RouteSpecHttpRouteMatchOutput) ToRouteSpecHttpRouteMatchPtrOutput() RouteSpecHttpRouteMatchPtrOutput { + return o.ToRouteSpecHttpRouteMatchPtrOutputWithContext(context.Background()) +} + +func (o RouteSpecHttpRouteMatchOutput) ToRouteSpecHttpRouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchPtrOutput { + return o.ApplyT(func(v RouteSpecHttpRouteMatch) *RouteSpecHttpRouteMatch { + return &v + }).(RouteSpecHttpRouteMatchPtrOutput) +} + +// The client request headers to match on. +func (o RouteSpecHttpRouteMatchOutput) Headers() RouteSpecHttpRouteMatchHeaderArrayOutput { + return o.ApplyT(func(v RouteSpecHttpRouteMatch) []RouteSpecHttpRouteMatchHeader { return v.Headers }).(RouteSpecHttpRouteMatchHeaderArrayOutput) +} + +// The 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) +} + +// The value sent by the client must begin with the specified characters. +// 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) +} + +// The 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 RouteSpecHttpRouteMatchPtrOutput) ToRouteSpecHttpRouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchPtrOutput { + return o +} + +func (o RouteSpecHttpRouteMatchPtrOutput) Elem() RouteSpecHttpRouteMatchOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteMatch) RouteSpecHttpRouteMatch { return *v }).(RouteSpecHttpRouteMatchOutput) +} + +// The 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) +} + +// The 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.Method + }).(pulumi.StringPtrOutput) +} + +// The value sent by the client must begin with the specified characters. +// 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) +} + +// The 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"` + // The method and value to match the header value sent with a request. Specify one match method. + Match *RouteSpecHttpRouteMatchHeaderMatch `pulumi:"match"` + // A 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: +// +// RouteSpecHttpRouteMatchHeaderArgs{...} +type RouteSpecHttpRouteMatchHeaderInput interface { + pulumi.Input + + ToRouteSpecHttpRouteMatchHeaderOutput() RouteSpecHttpRouteMatchHeaderOutput + ToRouteSpecHttpRouteMatchHeaderOutputWithContext(context.Context) RouteSpecHttpRouteMatchHeaderOutput +} + +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"` + // The method and value to match the header value sent with a request. Specify one match method. + Match RouteSpecHttpRouteMatchHeaderMatchPtrInput `pulumi:"match"` + // A name for the HTTP header in the client request that will be matched on. + Name pulumi.StringInput `pulumi:"name"` +} + +func (RouteSpecHttpRouteMatchHeaderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteMatchHeader)(nil)).Elem() +} + +func (i RouteSpecHttpRouteMatchHeaderArgs) ToRouteSpecHttpRouteMatchHeaderOutput() RouteSpecHttpRouteMatchHeaderOutput { + return i.ToRouteSpecHttpRouteMatchHeaderOutputWithContext(context.Background()) +} + +func (i RouteSpecHttpRouteMatchHeaderArgs) ToRouteSpecHttpRouteMatchHeaderOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchHeaderOutput) +} + +// 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 +} + +type RouteSpecHttpRouteMatchHeaderArray []RouteSpecHttpRouteMatchHeaderInput + +func (RouteSpecHttpRouteMatchHeaderArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteSpecHttpRouteMatchHeader)(nil)).Elem() +} + +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) +} + +// The 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) +} + +// A 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 value sent by the client must match the specified value exactly. + Exact *string `pulumi:"exact"` + // The value sent by the client must begin with the specified characters. + // This parameter must always start with /, which by itself matches all requests to the virtual router service name. + Prefix *string `pulumi:"prefix"` + // The object that specifies the range of numbers that the value sent by the client must be included in. + Range *RouteSpecHttpRouteMatchHeaderMatchRange `pulumi:"range"` + // The value sent by the client must include the specified characters. + Regex *string `pulumi:"regex"` + // The value sent by the client must end with the specified characters. + Suffix *string `pulumi:"suffix"` +} + +// RouteSpecHttpRouteMatchHeaderMatchInput is an input type that accepts RouteSpecHttpRouteMatchHeaderMatchArgs and RouteSpecHttpRouteMatchHeaderMatchOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteMatchHeaderMatchInput` via: +// +// RouteSpecHttpRouteMatchHeaderMatchArgs{...} +type RouteSpecHttpRouteMatchHeaderMatchInput interface { + pulumi.Input + + ToRouteSpecHttpRouteMatchHeaderMatchOutput() RouteSpecHttpRouteMatchHeaderMatchOutput + ToRouteSpecHttpRouteMatchHeaderMatchOutputWithContext(context.Context) RouteSpecHttpRouteMatchHeaderMatchOutput +} + +type RouteSpecHttpRouteMatchHeaderMatchArgs struct { + // The value sent by the client must match the specified value exactly. + Exact pulumi.StringPtrInput `pulumi:"exact"` + // The value sent by the client must begin with the specified characters. + // This parameter must always start with /, which by itself matches all requests to the virtual router service name. + Prefix pulumi.StringPtrInput `pulumi:"prefix"` + // The object that specifies the range of numbers that the value sent by the client must be included in. + Range RouteSpecHttpRouteMatchHeaderMatchRangePtrInput `pulumi:"range"` + // The value sent by the client must include the specified characters. + Regex pulumi.StringPtrInput `pulumi:"regex"` + // The value sent by the client must end with the specified characters. + 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 RouteSpecHttpRouteMatchHeaderMatchPtrInput interface { + pulumi.Input + + ToRouteSpecHttpRouteMatchHeaderMatchPtrOutput() RouteSpecHttpRouteMatchHeaderMatchPtrOutput + ToRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(context.Context) RouteSpecHttpRouteMatchHeaderMatchPtrOutput +} + +type routeSpecHttpRouteMatchHeaderMatchPtrType RouteSpecHttpRouteMatchHeaderMatchArgs + +func RouteSpecHttpRouteMatchHeaderMatchPtr(v *RouteSpecHttpRouteMatchHeaderMatchArgs) RouteSpecHttpRouteMatchHeaderMatchPtrInput { + return (*routeSpecHttpRouteMatchHeaderMatchPtrType)(v) +} + +func (*routeSpecHttpRouteMatchHeaderMatchPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteMatchHeaderMatch)(nil)).Elem() +} + +func (i *routeSpecHttpRouteMatchHeaderMatchPtrType) ToRouteSpecHttpRouteMatchHeaderMatchPtrOutput() RouteSpecHttpRouteMatchHeaderMatchPtrOutput { + return i.ToRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(context.Background()) +} + +func (i *routeSpecHttpRouteMatchHeaderMatchPtrType) ToRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchHeaderMatchPtrOutput) +} + +type RouteSpecHttpRouteMatchHeaderMatchOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttpRouteMatchHeaderMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteMatchHeaderMatch)(nil)).Elem() +} + +func (o RouteSpecHttpRouteMatchHeaderMatchOutput) ToRouteSpecHttpRouteMatchHeaderMatchOutput() RouteSpecHttpRouteMatchHeaderMatchOutput { + return o +} + +func (o RouteSpecHttpRouteMatchHeaderMatchOutput) ToRouteSpecHttpRouteMatchHeaderMatchOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchOutput { + return o +} + +func (o RouteSpecHttpRouteMatchHeaderMatchOutput) ToRouteSpecHttpRouteMatchHeaderMatchPtrOutput() RouteSpecHttpRouteMatchHeaderMatchPtrOutput { + return o.ToRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(context.Background()) +} + +func (o RouteSpecHttpRouteMatchHeaderMatchOutput) ToRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchPtrOutput { + return o.ApplyT(func(v RouteSpecHttpRouteMatchHeaderMatch) *RouteSpecHttpRouteMatchHeaderMatch { + return &v + }).(RouteSpecHttpRouteMatchHeaderMatchPtrOutput) +} + +// The value sent by the client must match the specified value exactly. +func (o RouteSpecHttpRouteMatchHeaderMatchOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSpecHttpRouteMatchHeaderMatch) *string { return v.Exact }).(pulumi.StringPtrOutput) +} + +// The value sent by the client must begin with the specified characters. +// 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) +} + +// The 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) +} + +// The value sent by the client must include the specified characters. +func (o RouteSpecHttpRouteMatchHeaderMatchOutput) Regex() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSpecHttpRouteMatchHeaderMatch) *string { return v.Regex }).(pulumi.StringPtrOutput) +} + +// The value sent by the client must end with the specified characters. +func (o RouteSpecHttpRouteMatchHeaderMatchOutput) Suffix() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSpecHttpRouteMatchHeaderMatch) *string { return v.Suffix }).(pulumi.StringPtrOutput) +} + +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 RouteSpecHttpRouteMatchHeaderMatchPtrOutput) ToRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchPtrOutput { + return o +} + +func (o RouteSpecHttpRouteMatchHeaderMatchPtrOutput) Elem() RouteSpecHttpRouteMatchHeaderMatchOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteMatchHeaderMatch) RouteSpecHttpRouteMatchHeaderMatch { return *v }).(RouteSpecHttpRouteMatchHeaderMatchOutput) +} + +// The value sent by the client must match the specified value exactly. +func (o RouteSpecHttpRouteMatchHeaderMatchPtrOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteMatchHeaderMatch) *string { + if v == nil { + return nil + } + return v.Exact + }).(pulumi.StringPtrOutput) +} + +// The value sent by the client must begin with the specified characters. +// 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.Prefix + }).(pulumi.StringPtrOutput) +} + +// The 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) +} + +// The value sent by the client must include the specified characters. +func (o RouteSpecHttpRouteMatchHeaderMatchPtrOutput) Regex() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteMatchHeaderMatch) *string { + if v == nil { + return nil + } + return v.Regex + }).(pulumi.StringPtrOutput) } // The value sent by the client must end with the specified characters. -func (o RouteSpecHttp2RouteMatchHeaderMatchOutput) Suffix() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteMatchHeaderMatch) *string { return v.Suffix }).(pulumi.StringPtrOutput) +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 { + // The end of the range. + End int `pulumi:"end"` + // The 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: +// +// RouteSpecHttpRouteMatchHeaderMatchRangeArgs{...} +type RouteSpecHttpRouteMatchHeaderMatchRangeInput interface { + pulumi.Input + + ToRouteSpecHttpRouteMatchHeaderMatchRangeOutput() RouteSpecHttpRouteMatchHeaderMatchRangeOutput + ToRouteSpecHttpRouteMatchHeaderMatchRangeOutputWithContext(context.Context) RouteSpecHttpRouteMatchHeaderMatchRangeOutput +} + +type RouteSpecHttpRouteMatchHeaderMatchRangeArgs struct { + // The end of the range. + End pulumi.IntInput `pulumi:"end"` + // The 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 RouteSpecHttpRouteMatchHeaderMatchRangeArgs) ToRouteSpecHttpRouteMatchHeaderMatchRangeOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchHeaderMatchRangeOutput) +} + +func (i RouteSpecHttpRouteMatchHeaderMatchRangeArgs) ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput() RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { + return i.ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(context.Background()) +} + +func (i RouteSpecHttpRouteMatchHeaderMatchRangeArgs) ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchHeaderMatchRangeOutput).ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(ctx) +} + +// RouteSpecHttpRouteMatchHeaderMatchRangePtrInput is an input type that accepts RouteSpecHttpRouteMatchHeaderMatchRangeArgs, RouteSpecHttpRouteMatchHeaderMatchRangePtr and RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteMatchHeaderMatchRangePtrInput` via: +// +// RouteSpecHttpRouteMatchHeaderMatchRangeArgs{...} +// +// or: +// +// nil +type RouteSpecHttpRouteMatchHeaderMatchRangePtrInput interface { + pulumi.Input + + ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput() RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput + ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(context.Context) RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput +} + +type routeSpecHttpRouteMatchHeaderMatchRangePtrType RouteSpecHttpRouteMatchHeaderMatchRangeArgs + +func RouteSpecHttpRouteMatchHeaderMatchRangePtr(v *RouteSpecHttpRouteMatchHeaderMatchRangeArgs) RouteSpecHttpRouteMatchHeaderMatchRangePtrInput { + return (*routeSpecHttpRouteMatchHeaderMatchRangePtrType)(v) +} + +func (*routeSpecHttpRouteMatchHeaderMatchRangePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteMatchHeaderMatchRange)(nil)).Elem() +} + +func (i *routeSpecHttpRouteMatchHeaderMatchRangePtrType) ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput() RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { + return i.ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(context.Background()) +} + +func (i *routeSpecHttpRouteMatchHeaderMatchRangePtrType) ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) +} + +type RouteSpecHttpRouteMatchHeaderMatchRangeOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttpRouteMatchHeaderMatchRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteMatchHeaderMatchRange)(nil)).Elem() +} + +func (o RouteSpecHttpRouteMatchHeaderMatchRangeOutput) ToRouteSpecHttpRouteMatchHeaderMatchRangeOutput() RouteSpecHttpRouteMatchHeaderMatchRangeOutput { + return o +} + +func (o RouteSpecHttpRouteMatchHeaderMatchRangeOutput) ToRouteSpecHttpRouteMatchHeaderMatchRangeOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchRangeOutput { + return o +} + +func (o RouteSpecHttpRouteMatchHeaderMatchRangeOutput) ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput() RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { + return o.ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(context.Background()) +} + +func (o RouteSpecHttpRouteMatchHeaderMatchRangeOutput) ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { + return o.ApplyT(func(v RouteSpecHttpRouteMatchHeaderMatchRange) *RouteSpecHttpRouteMatchHeaderMatchRange { + return &v + }).(RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) +} + +// The end of the range. +func (o RouteSpecHttpRouteMatchHeaderMatchRangeOutput) End() pulumi.IntOutput { + return o.ApplyT(func(v RouteSpecHttpRouteMatchHeaderMatchRange) int { return v.End }).(pulumi.IntOutput) +} + +// The start of the range. +func (o RouteSpecHttpRouteMatchHeaderMatchRangeOutput) Start() pulumi.IntOutput { + return o.ApplyT(func(v RouteSpecHttpRouteMatchHeaderMatchRange) int { return v.Start }).(pulumi.IntOutput) +} + +type RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteMatchHeaderMatchRange)(nil)).Elem() +} + +func (o RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput() RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { + return o +} + +func (o RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { + return o +} + +func (o RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) Elem() RouteSpecHttpRouteMatchHeaderMatchRangeOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteMatchHeaderMatchRange) RouteSpecHttpRouteMatchHeaderMatchRange { return *v }).(RouteSpecHttpRouteMatchHeaderMatchRangeOutput) +} + +// The end of the range. +func (o RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) End() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteMatchHeaderMatchRange) *int { + if v == nil { + return nil + } + return &v.End + }).(pulumi.IntPtrOutput) +} + +// The 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) +} + +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"` + // The maximum number of retries. + MaxRetries int `pulumi:"maxRetries"` + // The per-retry timeout. + PerRetryTimeout RouteSpecHttpRouteRetryPolicyPerRetryTimeout `pulumi:"perRetryTimeout"` + // List of TCP retry events. The only valid value is `connection-error`. + TcpRetryEvents []string `pulumi:"tcpRetryEvents"` +} + +// RouteSpecHttpRouteRetryPolicyInput is an input type that accepts RouteSpecHttpRouteRetryPolicyArgs and RouteSpecHttpRouteRetryPolicyOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteRetryPolicyInput` via: +// +// RouteSpecHttpRouteRetryPolicyArgs{...} +type RouteSpecHttpRouteRetryPolicyInput interface { + pulumi.Input + + ToRouteSpecHttpRouteRetryPolicyOutput() RouteSpecHttpRouteRetryPolicyOutput + ToRouteSpecHttpRouteRetryPolicyOutputWithContext(context.Context) RouteSpecHttpRouteRetryPolicyOutput +} + +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"` + // The maximum number of retries. + MaxRetries pulumi.IntInput `pulumi:"maxRetries"` + // The 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 (RouteSpecHttpRouteRetryPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteRetryPolicy)(nil)).Elem() +} + +func (i RouteSpecHttpRouteRetryPolicyArgs) ToRouteSpecHttpRouteRetryPolicyOutput() RouteSpecHttpRouteRetryPolicyOutput { + return i.ToRouteSpecHttpRouteRetryPolicyOutputWithContext(context.Background()) +} + +func (i RouteSpecHttpRouteRetryPolicyArgs) ToRouteSpecHttpRouteRetryPolicyOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteRetryPolicyOutput) +} + +func (i RouteSpecHttpRouteRetryPolicyArgs) ToRouteSpecHttpRouteRetryPolicyPtrOutput() RouteSpecHttpRouteRetryPolicyPtrOutput { + return i.ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(context.Background()) +} + +func (i RouteSpecHttpRouteRetryPolicyArgs) ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteRetryPolicyOutput).ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(ctx) +} + +// RouteSpecHttpRouteRetryPolicyPtrInput is an input type that accepts RouteSpecHttpRouteRetryPolicyArgs, RouteSpecHttpRouteRetryPolicyPtr and RouteSpecHttpRouteRetryPolicyPtrOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteRetryPolicyPtrInput` via: +// +// RouteSpecHttpRouteRetryPolicyArgs{...} +// +// or: +// +// nil +type RouteSpecHttpRouteRetryPolicyPtrInput interface { + pulumi.Input + + ToRouteSpecHttpRouteRetryPolicyPtrOutput() RouteSpecHttpRouteRetryPolicyPtrOutput + ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(context.Context) RouteSpecHttpRouteRetryPolicyPtrOutput +} + +type routeSpecHttpRouteRetryPolicyPtrType RouteSpecHttpRouteRetryPolicyArgs + +func RouteSpecHttpRouteRetryPolicyPtr(v *RouteSpecHttpRouteRetryPolicyArgs) RouteSpecHttpRouteRetryPolicyPtrInput { + return (*routeSpecHttpRouteRetryPolicyPtrType)(v) +} + +func (*routeSpecHttpRouteRetryPolicyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteRetryPolicy)(nil)).Elem() +} + +func (i *routeSpecHttpRouteRetryPolicyPtrType) ToRouteSpecHttpRouteRetryPolicyPtrOutput() RouteSpecHttpRouteRetryPolicyPtrOutput { + return i.ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(context.Background()) +} + +func (i *routeSpecHttpRouteRetryPolicyPtrType) ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteRetryPolicyPtrOutput) +} + +type RouteSpecHttpRouteRetryPolicyOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttpRouteRetryPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteRetryPolicy)(nil)).Elem() +} + +func (o RouteSpecHttpRouteRetryPolicyOutput) ToRouteSpecHttpRouteRetryPolicyOutput() RouteSpecHttpRouteRetryPolicyOutput { + return o +} + +func (o RouteSpecHttpRouteRetryPolicyOutput) ToRouteSpecHttpRouteRetryPolicyOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyOutput { + return o +} + +func (o RouteSpecHttpRouteRetryPolicyOutput) ToRouteSpecHttpRouteRetryPolicyPtrOutput() RouteSpecHttpRouteRetryPolicyPtrOutput { + return o.ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(context.Background()) +} + +func (o RouteSpecHttpRouteRetryPolicyOutput) ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPtrOutput { + return o.ApplyT(func(v RouteSpecHttpRouteRetryPolicy) *RouteSpecHttpRouteRetryPolicy { + 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) +} + +// The maximum number of retries. +func (o RouteSpecHttpRouteRetryPolicyOutput) MaxRetries() pulumi.IntOutput { + return o.ApplyT(func(v RouteSpecHttpRouteRetryPolicy) int { return v.MaxRetries }).(pulumi.IntOutput) +} + +// The per-retry timeout. +func (o RouteSpecHttpRouteRetryPolicyOutput) PerRetryTimeout() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { + return o.ApplyT(func(v RouteSpecHttpRouteRetryPolicy) RouteSpecHttpRouteRetryPolicyPerRetryTimeout { + return v.PerRetryTimeout + }).(RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) +} + +// 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) +} + +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 RouteSpecHttpRouteRetryPolicyPtrOutput) ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPtrOutput { + return o +} + +func (o RouteSpecHttpRouteRetryPolicyPtrOutput) Elem() RouteSpecHttpRouteRetryPolicyOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteRetryPolicy) RouteSpecHttpRouteRetryPolicy { return *v }).(RouteSpecHttpRouteRetryPolicyOutput) +} + +// 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.HttpRetryEvents + }).(pulumi.StringArrayOutput) +} + +// The maximum number of retries. +func (o RouteSpecHttpRouteRetryPolicyPtrOutput) MaxRetries() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteRetryPolicy) *int { + if v == nil { + return nil + } + return &v.MaxRetries + }).(pulumi.IntPtrOutput) +} + +// The 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"` +} + +// RouteSpecHttpRouteRetryPolicyPerRetryTimeoutInput is an input type that accepts RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs and RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteRetryPolicyPerRetryTimeoutInput` via: +// +// RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs{...} +type RouteSpecHttpRouteRetryPolicyPerRetryTimeoutInput interface { + pulumi.Input + + ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput + ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutputWithContext(context.Context) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput +} + +type RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs struct { + // Retry unit. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // Retry value. + Value pulumi.IntInput `pulumi:"value"` +} + +func (RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteRetryPolicyPerRetryTimeout)(nil)).Elem() +} + +func (i RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { + return i.ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutputWithContext(context.Background()) +} + +func (i RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) +} + +func (i RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { + return i.ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Background()) +} + +func (i RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput).ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx) +} + +// RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrInput is an input type that accepts RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs, RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtr and RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrInput` via: +// +// RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs{...} +// +// or: +// +// nil +type RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrInput interface { + pulumi.Input + + ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput + ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Context) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput +} + +type routeSpecHttpRouteRetryPolicyPerRetryTimeoutPtrType RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs + +func RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtr(v *RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrInput { + return (*routeSpecHttpRouteRetryPolicyPerRetryTimeoutPtrType)(v) +} + +func (*routeSpecHttpRouteRetryPolicyPerRetryTimeoutPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteRetryPolicyPerRetryTimeout)(nil)).Elem() +} + +func (i *routeSpecHttpRouteRetryPolicyPerRetryTimeoutPtrType) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { + return i.ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Background()) +} + +func (i *routeSpecHttpRouteRetryPolicyPerRetryTimeoutPtrType) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput) +} + +type RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteRetryPolicyPerRetryTimeout)(nil)).Elem() +} + +func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { + return o +} + +func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { + return o +} + +func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { + return o.ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Background()) +} + +func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { + return o.ApplyT(func(v RouteSpecHttpRouteRetryPolicyPerRetryTimeout) *RouteSpecHttpRouteRetryPolicyPerRetryTimeout { + return &v + }).(RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput) +} + +// Retry unit. Valid values: `ms`, `s`. +func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v RouteSpecHttpRouteRetryPolicyPerRetryTimeout) string { return v.Unit }).(pulumi.StringOutput) +} + +// Retry value. +func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v RouteSpecHttpRouteRetryPolicyPerRetryTimeout) int { return v.Value }).(pulumi.IntOutput) +} + +type RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteRetryPolicyPerRetryTimeout)(nil)).Elem() +} + +func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { + return o +} + +func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { + return o +} + +func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput) Elem() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteRetryPolicyPerRetryTimeout) RouteSpecHttpRouteRetryPolicyPerRetryTimeout { + return *v + }).(RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) +} + +// 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.Unit + }).(pulumi.StringPtrOutput) +} + +// Retry value. +func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteRetryPolicyPerRetryTimeout) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) +} + +type RouteSpecHttpRouteTimeout struct { + // The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + Idle *RouteSpecHttpRouteTimeoutIdle `pulumi:"idle"` + // The per request timeout. + PerRequest *RouteSpecHttpRouteTimeoutPerRequest `pulumi:"perRequest"` +} + +// RouteSpecHttpRouteTimeoutInput is an input type that accepts RouteSpecHttpRouteTimeoutArgs and RouteSpecHttpRouteTimeoutOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteTimeoutInput` via: +// +// RouteSpecHttpRouteTimeoutArgs{...} +type RouteSpecHttpRouteTimeoutInput interface { + pulumi.Input + + ToRouteSpecHttpRouteTimeoutOutput() RouteSpecHttpRouteTimeoutOutput + ToRouteSpecHttpRouteTimeoutOutputWithContext(context.Context) RouteSpecHttpRouteTimeoutOutput +} + +type RouteSpecHttpRouteTimeoutArgs struct { + // The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + Idle RouteSpecHttpRouteTimeoutIdlePtrInput `pulumi:"idle"` + // The per request timeout. + PerRequest RouteSpecHttpRouteTimeoutPerRequestPtrInput `pulumi:"perRequest"` +} + +func (RouteSpecHttpRouteTimeoutArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteTimeout)(nil)).Elem() +} + +func (i RouteSpecHttpRouteTimeoutArgs) ToRouteSpecHttpRouteTimeoutOutput() RouteSpecHttpRouteTimeoutOutput { + return i.ToRouteSpecHttpRouteTimeoutOutputWithContext(context.Background()) +} + +func (i RouteSpecHttpRouteTimeoutArgs) ToRouteSpecHttpRouteTimeoutOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteTimeoutOutput) +} + +func (i RouteSpecHttpRouteTimeoutArgs) ToRouteSpecHttpRouteTimeoutPtrOutput() RouteSpecHttpRouteTimeoutPtrOutput { + return i.ToRouteSpecHttpRouteTimeoutPtrOutputWithContext(context.Background()) +} + +func (i RouteSpecHttpRouteTimeoutArgs) ToRouteSpecHttpRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteTimeoutOutput).ToRouteSpecHttpRouteTimeoutPtrOutputWithContext(ctx) +} + +// RouteSpecHttpRouteTimeoutPtrInput is an input type that accepts RouteSpecHttpRouteTimeoutArgs, RouteSpecHttpRouteTimeoutPtr and RouteSpecHttpRouteTimeoutPtrOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteTimeoutPtrInput` via: +// +// RouteSpecHttpRouteTimeoutArgs{...} +// +// or: +// +// nil +type RouteSpecHttpRouteTimeoutPtrInput interface { + pulumi.Input + + ToRouteSpecHttpRouteTimeoutPtrOutput() RouteSpecHttpRouteTimeoutPtrOutput + ToRouteSpecHttpRouteTimeoutPtrOutputWithContext(context.Context) RouteSpecHttpRouteTimeoutPtrOutput +} + +type routeSpecHttpRouteTimeoutPtrType RouteSpecHttpRouteTimeoutArgs + +func RouteSpecHttpRouteTimeoutPtr(v *RouteSpecHttpRouteTimeoutArgs) RouteSpecHttpRouteTimeoutPtrInput { + return (*routeSpecHttpRouteTimeoutPtrType)(v) +} + +func (*routeSpecHttpRouteTimeoutPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteTimeout)(nil)).Elem() +} + +func (i *routeSpecHttpRouteTimeoutPtrType) ToRouteSpecHttpRouteTimeoutPtrOutput() RouteSpecHttpRouteTimeoutPtrOutput { + return i.ToRouteSpecHttpRouteTimeoutPtrOutputWithContext(context.Background()) +} + +func (i *routeSpecHttpRouteTimeoutPtrType) ToRouteSpecHttpRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteTimeoutPtrOutput) +} + +type RouteSpecHttpRouteTimeoutOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttpRouteTimeoutOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteTimeout)(nil)).Elem() +} + +func (o RouteSpecHttpRouteTimeoutOutput) ToRouteSpecHttpRouteTimeoutOutput() RouteSpecHttpRouteTimeoutOutput { + return o +} + +func (o RouteSpecHttpRouteTimeoutOutput) ToRouteSpecHttpRouteTimeoutOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutOutput { + return o +} + +func (o RouteSpecHttpRouteTimeoutOutput) ToRouteSpecHttpRouteTimeoutPtrOutput() RouteSpecHttpRouteTimeoutPtrOutput { + return o.ToRouteSpecHttpRouteTimeoutPtrOutputWithContext(context.Background()) +} + +func (o RouteSpecHttpRouteTimeoutOutput) ToRouteSpecHttpRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutPtrOutput { + return o.ApplyT(func(v RouteSpecHttpRouteTimeout) *RouteSpecHttpRouteTimeout { + return &v + }).(RouteSpecHttpRouteTimeoutPtrOutput) +} + +// The 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) +} + +// The per request timeout. +func (o RouteSpecHttpRouteTimeoutOutput) PerRequest() RouteSpecHttpRouteTimeoutPerRequestPtrOutput { + return o.ApplyT(func(v RouteSpecHttpRouteTimeout) *RouteSpecHttpRouteTimeoutPerRequest { return v.PerRequest }).(RouteSpecHttpRouteTimeoutPerRequestPtrOutput) +} + +type RouteSpecHttpRouteTimeoutPtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttpRouteTimeoutPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteTimeout)(nil)).Elem() +} + +func (o RouteSpecHttpRouteTimeoutPtrOutput) ToRouteSpecHttpRouteTimeoutPtrOutput() RouteSpecHttpRouteTimeoutPtrOutput { + return o +} + +func (o RouteSpecHttpRouteTimeoutPtrOutput) ToRouteSpecHttpRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutPtrOutput { + return o +} + +func (o RouteSpecHttpRouteTimeoutPtrOutput) Elem() RouteSpecHttpRouteTimeoutOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteTimeout) RouteSpecHttpRouteTimeout { return *v }).(RouteSpecHttpRouteTimeoutOutput) +} + +// The 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) +} + +// The per request timeout. +func (o RouteSpecHttpRouteTimeoutPtrOutput) PerRequest() RouteSpecHttpRouteTimeoutPerRequestPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteTimeout) *RouteSpecHttpRouteTimeoutPerRequest { + if v == nil { + return nil + } + return v.PerRequest + }).(RouteSpecHttpRouteTimeoutPerRequestPtrOutput) +} + +type RouteSpecHttpRouteTimeoutIdle struct { + // The unit of time. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // The 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: +// +// RouteSpecHttpRouteTimeoutIdleArgs{...} +type RouteSpecHttpRouteTimeoutIdleInput interface { + pulumi.Input + + ToRouteSpecHttpRouteTimeoutIdleOutput() RouteSpecHttpRouteTimeoutIdleOutput + ToRouteSpecHttpRouteTimeoutIdleOutputWithContext(context.Context) RouteSpecHttpRouteTimeoutIdleOutput +} + +type RouteSpecHttpRouteTimeoutIdleArgs struct { + // The unit of time. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // The number of time units. Minimum value of `0`. + Value pulumi.IntInput `pulumi:"value"` +} + +func (RouteSpecHttpRouteTimeoutIdleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteTimeoutIdle)(nil)).Elem() +} + +func (i RouteSpecHttpRouteTimeoutIdleArgs) ToRouteSpecHttpRouteTimeoutIdleOutput() RouteSpecHttpRouteTimeoutIdleOutput { + return i.ToRouteSpecHttpRouteTimeoutIdleOutputWithContext(context.Background()) +} + +func (i RouteSpecHttpRouteTimeoutIdleArgs) ToRouteSpecHttpRouteTimeoutIdleOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutIdleOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteTimeoutIdleOutput) +} + +func (i RouteSpecHttpRouteTimeoutIdleArgs) ToRouteSpecHttpRouteTimeoutIdlePtrOutput() RouteSpecHttpRouteTimeoutIdlePtrOutput { + return i.ToRouteSpecHttpRouteTimeoutIdlePtrOutputWithContext(context.Background()) +} + +func (i RouteSpecHttpRouteTimeoutIdleArgs) ToRouteSpecHttpRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutIdlePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteTimeoutIdleOutput).ToRouteSpecHttpRouteTimeoutIdlePtrOutputWithContext(ctx) +} + +// RouteSpecHttpRouteTimeoutIdlePtrInput is an input type that accepts RouteSpecHttpRouteTimeoutIdleArgs, RouteSpecHttpRouteTimeoutIdlePtr and RouteSpecHttpRouteTimeoutIdlePtrOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteTimeoutIdlePtrInput` via: +// +// RouteSpecHttpRouteTimeoutIdleArgs{...} +// +// or: +// +// nil +type RouteSpecHttpRouteTimeoutIdlePtrInput interface { + pulumi.Input + + ToRouteSpecHttpRouteTimeoutIdlePtrOutput() RouteSpecHttpRouteTimeoutIdlePtrOutput + ToRouteSpecHttpRouteTimeoutIdlePtrOutputWithContext(context.Context) RouteSpecHttpRouteTimeoutIdlePtrOutput +} + +type routeSpecHttpRouteTimeoutIdlePtrType RouteSpecHttpRouteTimeoutIdleArgs + +func RouteSpecHttpRouteTimeoutIdlePtr(v *RouteSpecHttpRouteTimeoutIdleArgs) RouteSpecHttpRouteTimeoutIdlePtrInput { + return (*routeSpecHttpRouteTimeoutIdlePtrType)(v) +} + +func (*routeSpecHttpRouteTimeoutIdlePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteTimeoutIdle)(nil)).Elem() +} + +func (i *routeSpecHttpRouteTimeoutIdlePtrType) ToRouteSpecHttpRouteTimeoutIdlePtrOutput() RouteSpecHttpRouteTimeoutIdlePtrOutput { + return i.ToRouteSpecHttpRouteTimeoutIdlePtrOutputWithContext(context.Background()) +} + +func (i *routeSpecHttpRouteTimeoutIdlePtrType) ToRouteSpecHttpRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutIdlePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteTimeoutIdlePtrOutput) +} + +type RouteSpecHttpRouteTimeoutIdleOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttpRouteTimeoutIdleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteTimeoutIdle)(nil)).Elem() +} + +func (o RouteSpecHttpRouteTimeoutIdleOutput) ToRouteSpecHttpRouteTimeoutIdleOutput() RouteSpecHttpRouteTimeoutIdleOutput { + return o +} + +func (o RouteSpecHttpRouteTimeoutIdleOutput) ToRouteSpecHttpRouteTimeoutIdleOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutIdleOutput { + return o +} + +func (o RouteSpecHttpRouteTimeoutIdleOutput) ToRouteSpecHttpRouteTimeoutIdlePtrOutput() RouteSpecHttpRouteTimeoutIdlePtrOutput { + return o.ToRouteSpecHttpRouteTimeoutIdlePtrOutputWithContext(context.Background()) +} + +func (o RouteSpecHttpRouteTimeoutIdleOutput) ToRouteSpecHttpRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutIdlePtrOutput { + return o.ApplyT(func(v RouteSpecHttpRouteTimeoutIdle) *RouteSpecHttpRouteTimeoutIdle { + return &v + }).(RouteSpecHttpRouteTimeoutIdlePtrOutput) +} + +// The 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) +} + +// The 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) +} + +type RouteSpecHttpRouteTimeoutIdlePtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttpRouteTimeoutIdlePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteTimeoutIdle)(nil)).Elem() +} + +func (o RouteSpecHttpRouteTimeoutIdlePtrOutput) ToRouteSpecHttpRouteTimeoutIdlePtrOutput() RouteSpecHttpRouteTimeoutIdlePtrOutput { + return o +} + +func (o RouteSpecHttpRouteTimeoutIdlePtrOutput) ToRouteSpecHttpRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutIdlePtrOutput { + return o +} + +func (o RouteSpecHttpRouteTimeoutIdlePtrOutput) Elem() RouteSpecHttpRouteTimeoutIdleOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteTimeoutIdle) RouteSpecHttpRouteTimeoutIdle { return *v }).(RouteSpecHttpRouteTimeoutIdleOutput) +} + +// The 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) +} + +// The 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) +} + +type RouteSpecHttpRouteTimeoutPerRequest struct { + // The unit of time. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // The 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: +// +// RouteSpecHttpRouteTimeoutPerRequestArgs{...} +type RouteSpecHttpRouteTimeoutPerRequestInput interface { + pulumi.Input + + ToRouteSpecHttpRouteTimeoutPerRequestOutput() RouteSpecHttpRouteTimeoutPerRequestOutput + ToRouteSpecHttpRouteTimeoutPerRequestOutputWithContext(context.Context) RouteSpecHttpRouteTimeoutPerRequestOutput +} + +type RouteSpecHttpRouteTimeoutPerRequestArgs struct { + // The unit of time. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // The number of time units. Minimum value of `0`. + Value pulumi.IntInput `pulumi:"value"` +} + +func (RouteSpecHttpRouteTimeoutPerRequestArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteTimeoutPerRequest)(nil)).Elem() +} + +func (i RouteSpecHttpRouteTimeoutPerRequestArgs) ToRouteSpecHttpRouteTimeoutPerRequestOutput() RouteSpecHttpRouteTimeoutPerRequestOutput { + return i.ToRouteSpecHttpRouteTimeoutPerRequestOutputWithContext(context.Background()) +} + +func (i RouteSpecHttpRouteTimeoutPerRequestArgs) ToRouteSpecHttpRouteTimeoutPerRequestOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutPerRequestOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteTimeoutPerRequestOutput) +} + +func (i RouteSpecHttpRouteTimeoutPerRequestArgs) ToRouteSpecHttpRouteTimeoutPerRequestPtrOutput() RouteSpecHttpRouteTimeoutPerRequestPtrOutput { + return i.ToRouteSpecHttpRouteTimeoutPerRequestPtrOutputWithContext(context.Background()) +} + +func (i RouteSpecHttpRouteTimeoutPerRequestArgs) ToRouteSpecHttpRouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutPerRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteTimeoutPerRequestOutput).ToRouteSpecHttpRouteTimeoutPerRequestPtrOutputWithContext(ctx) +} + +// RouteSpecHttpRouteTimeoutPerRequestPtrInput is an input type that accepts RouteSpecHttpRouteTimeoutPerRequestArgs, RouteSpecHttpRouteTimeoutPerRequestPtr and RouteSpecHttpRouteTimeoutPerRequestPtrOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteTimeoutPerRequestPtrInput` via: +// +// RouteSpecHttpRouteTimeoutPerRequestArgs{...} +// +// or: +// +// nil +type RouteSpecHttpRouteTimeoutPerRequestPtrInput interface { + pulumi.Input + + ToRouteSpecHttpRouteTimeoutPerRequestPtrOutput() RouteSpecHttpRouteTimeoutPerRequestPtrOutput + ToRouteSpecHttpRouteTimeoutPerRequestPtrOutputWithContext(context.Context) RouteSpecHttpRouteTimeoutPerRequestPtrOutput +} + +type routeSpecHttpRouteTimeoutPerRequestPtrType RouteSpecHttpRouteTimeoutPerRequestArgs + +func RouteSpecHttpRouteTimeoutPerRequestPtr(v *RouteSpecHttpRouteTimeoutPerRequestArgs) RouteSpecHttpRouteTimeoutPerRequestPtrInput { + return (*routeSpecHttpRouteTimeoutPerRequestPtrType)(v) +} + +func (*routeSpecHttpRouteTimeoutPerRequestPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteTimeoutPerRequest)(nil)).Elem() +} + +func (i *routeSpecHttpRouteTimeoutPerRequestPtrType) ToRouteSpecHttpRouteTimeoutPerRequestPtrOutput() RouteSpecHttpRouteTimeoutPerRequestPtrOutput { + return i.ToRouteSpecHttpRouteTimeoutPerRequestPtrOutputWithContext(context.Background()) +} + +func (i *routeSpecHttpRouteTimeoutPerRequestPtrType) ToRouteSpecHttpRouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutPerRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteTimeoutPerRequestPtrOutput) +} + +type RouteSpecHttpRouteTimeoutPerRequestOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttpRouteTimeoutPerRequestOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteTimeoutPerRequest)(nil)).Elem() } -type RouteSpecHttp2RouteMatchHeaderMatchPtrOutput struct{ *pulumi.OutputState } +func (o RouteSpecHttpRouteTimeoutPerRequestOutput) ToRouteSpecHttpRouteTimeoutPerRequestOutput() RouteSpecHttpRouteTimeoutPerRequestOutput { + return o +} -func (RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2RouteMatchHeaderMatch)(nil)).Elem() +func (o RouteSpecHttpRouteTimeoutPerRequestOutput) ToRouteSpecHttpRouteTimeoutPerRequestOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutPerRequestOutput { + return o } -func (o RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutput() RouteSpecHttp2RouteMatchHeaderMatchPtrOutput { +func (o RouteSpecHttpRouteTimeoutPerRequestOutput) ToRouteSpecHttpRouteTimeoutPerRequestPtrOutput() RouteSpecHttpRouteTimeoutPerRequestPtrOutput { + return o.ToRouteSpecHttpRouteTimeoutPerRequestPtrOutputWithContext(context.Background()) +} + +func (o RouteSpecHttpRouteTimeoutPerRequestOutput) ToRouteSpecHttpRouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutPerRequestPtrOutput { + return o.ApplyT(func(v RouteSpecHttpRouteTimeoutPerRequest) *RouteSpecHttpRouteTimeoutPerRequest { + return &v + }).(RouteSpecHttpRouteTimeoutPerRequestPtrOutput) +} + +// The 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) +} + +// The 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 RouteSpecHttpRouteTimeoutPerRequestPtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttpRouteTimeoutPerRequestPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteTimeoutPerRequest)(nil)).Elem() +} + +func (o RouteSpecHttpRouteTimeoutPerRequestPtrOutput) ToRouteSpecHttpRouteTimeoutPerRequestPtrOutput() RouteSpecHttpRouteTimeoutPerRequestPtrOutput { return o } -func (o RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchPtrOutput { +func (o RouteSpecHttpRouteTimeoutPerRequestPtrOutput) ToRouteSpecHttpRouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutPerRequestPtrOutput { return o } -func (o RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) Elem() RouteSpecHttp2RouteMatchHeaderMatchOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteMatchHeaderMatch) RouteSpecHttp2RouteMatchHeaderMatch { return *v }).(RouteSpecHttp2RouteMatchHeaderMatchOutput) +func (o RouteSpecHttpRouteTimeoutPerRequestPtrOutput) Elem() RouteSpecHttpRouteTimeoutPerRequestOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteTimeoutPerRequest) RouteSpecHttpRouteTimeoutPerRequest { return *v }).(RouteSpecHttpRouteTimeoutPerRequestOutput) } -// The value sent by the client must match the specified value exactly. -func (o RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) Exact() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteMatchHeaderMatch) *string { +// The 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.Exact + return &v.Unit }).(pulumi.StringPtrOutput) } -// The value sent by the client must begin with the specified characters. -// 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 { +// The 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.Prefix - }).(pulumi.StringPtrOutput) + return &v.Value + }).(pulumi.IntPtrOutput) } -// The 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) +type RouteSpecTcpRoute struct { + // The action to take if a match is determined. + Action RouteSpecTcpRouteAction `pulumi:"action"` + // The types of timeouts. + Timeout *RouteSpecTcpRouteTimeout `pulumi:"timeout"` } -// The value sent by the client must include the specified characters. -func (o RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) Regex() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteMatchHeaderMatch) *string { +// RouteSpecTcpRouteInput is an input type that accepts RouteSpecTcpRouteArgs and RouteSpecTcpRouteOutput values. +// You can construct a concrete instance of `RouteSpecTcpRouteInput` via: +// +// RouteSpecTcpRouteArgs{...} +type RouteSpecTcpRouteInput interface { + pulumi.Input + + ToRouteSpecTcpRouteOutput() RouteSpecTcpRouteOutput + ToRouteSpecTcpRouteOutputWithContext(context.Context) RouteSpecTcpRouteOutput +} + +type RouteSpecTcpRouteArgs struct { + // The action to take if a match is determined. + Action RouteSpecTcpRouteActionInput `pulumi:"action"` + // The types of timeouts. + Timeout RouteSpecTcpRouteTimeoutPtrInput `pulumi:"timeout"` +} + +func (RouteSpecTcpRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecTcpRoute)(nil)).Elem() +} + +func (i RouteSpecTcpRouteArgs) ToRouteSpecTcpRouteOutput() RouteSpecTcpRouteOutput { + return i.ToRouteSpecTcpRouteOutputWithContext(context.Background()) +} + +func (i RouteSpecTcpRouteArgs) ToRouteSpecTcpRouteOutputWithContext(ctx context.Context) RouteSpecTcpRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteOutput) +} + +func (i RouteSpecTcpRouteArgs) ToRouteSpecTcpRoutePtrOutput() RouteSpecTcpRoutePtrOutput { + return i.ToRouteSpecTcpRoutePtrOutputWithContext(context.Background()) +} + +func (i RouteSpecTcpRouteArgs) ToRouteSpecTcpRoutePtrOutputWithContext(ctx context.Context) RouteSpecTcpRoutePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteOutput).ToRouteSpecTcpRoutePtrOutputWithContext(ctx) +} + +// RouteSpecTcpRoutePtrInput is an input type that accepts RouteSpecTcpRouteArgs, RouteSpecTcpRoutePtr and RouteSpecTcpRoutePtrOutput values. +// You can construct a concrete instance of `RouteSpecTcpRoutePtrInput` via: +// +// RouteSpecTcpRouteArgs{...} +// +// or: +// +// nil +type RouteSpecTcpRoutePtrInput interface { + pulumi.Input + + ToRouteSpecTcpRoutePtrOutput() RouteSpecTcpRoutePtrOutput + ToRouteSpecTcpRoutePtrOutputWithContext(context.Context) RouteSpecTcpRoutePtrOutput +} + +type routeSpecTcpRoutePtrType RouteSpecTcpRouteArgs + +func RouteSpecTcpRoutePtr(v *RouteSpecTcpRouteArgs) RouteSpecTcpRoutePtrInput { + return (*routeSpecTcpRoutePtrType)(v) +} + +func (*routeSpecTcpRoutePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecTcpRoute)(nil)).Elem() +} + +func (i *routeSpecTcpRoutePtrType) ToRouteSpecTcpRoutePtrOutput() RouteSpecTcpRoutePtrOutput { + return i.ToRouteSpecTcpRoutePtrOutputWithContext(context.Background()) +} + +func (i *routeSpecTcpRoutePtrType) ToRouteSpecTcpRoutePtrOutputWithContext(ctx context.Context) RouteSpecTcpRoutePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRoutePtrOutput) +} + +type RouteSpecTcpRouteOutput struct{ *pulumi.OutputState } + +func (RouteSpecTcpRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecTcpRoute)(nil)).Elem() +} + +func (o RouteSpecTcpRouteOutput) ToRouteSpecTcpRouteOutput() RouteSpecTcpRouteOutput { + return o +} + +func (o RouteSpecTcpRouteOutput) ToRouteSpecTcpRouteOutputWithContext(ctx context.Context) RouteSpecTcpRouteOutput { + return o +} + +func (o RouteSpecTcpRouteOutput) ToRouteSpecTcpRoutePtrOutput() RouteSpecTcpRoutePtrOutput { + return o.ToRouteSpecTcpRoutePtrOutputWithContext(context.Background()) +} + +func (o RouteSpecTcpRouteOutput) ToRouteSpecTcpRoutePtrOutputWithContext(ctx context.Context) RouteSpecTcpRoutePtrOutput { + return o.ApplyT(func(v RouteSpecTcpRoute) *RouteSpecTcpRoute { + return &v + }).(RouteSpecTcpRoutePtrOutput) +} + +// The 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 types of timeouts. +func (o RouteSpecTcpRouteOutput) Timeout() RouteSpecTcpRouteTimeoutPtrOutput { + return o.ApplyT(func(v RouteSpecTcpRoute) *RouteSpecTcpRouteTimeout { return v.Timeout }).(RouteSpecTcpRouteTimeoutPtrOutput) +} + +type RouteSpecTcpRoutePtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecTcpRoutePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecTcpRoute)(nil)).Elem() +} + +func (o RouteSpecTcpRoutePtrOutput) ToRouteSpecTcpRoutePtrOutput() RouteSpecTcpRoutePtrOutput { + return o +} + +func (o RouteSpecTcpRoutePtrOutput) ToRouteSpecTcpRoutePtrOutputWithContext(ctx context.Context) RouteSpecTcpRoutePtrOutput { + return o +} + +func (o RouteSpecTcpRoutePtrOutput) Elem() RouteSpecTcpRouteOutput { + return o.ApplyT(func(v *RouteSpecTcpRoute) RouteSpecTcpRoute { return *v }).(RouteSpecTcpRouteOutput) +} + +// The 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.Regex - }).(pulumi.StringPtrOutput) + return &v.Action + }).(RouteSpecTcpRouteActionPtrOutput) } -// The value sent by the client must end with the specified characters. -func (o RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) Suffix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteMatchHeaderMatch) *string { +// The types of timeouts. +func (o RouteSpecTcpRoutePtrOutput) Timeout() RouteSpecTcpRouteTimeoutPtrOutput { + return o.ApplyT(func(v *RouteSpecTcpRoute) *RouteSpecTcpRouteTimeout { if v == nil { return nil } - return v.Suffix - }).(pulumi.StringPtrOutput) + return v.Timeout + }).(RouteSpecTcpRouteTimeoutPtrOutput) } -type RouteSpecHttp2RouteMatchHeaderMatchRange struct { - // The end of the range. - End int `pulumi:"end"` - // The start of the range. - Start int `pulumi:"start"` +type RouteSpecTcpRouteAction struct { + // The 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"` } -// RouteSpecHttp2RouteMatchHeaderMatchRangeInput is an input type that accepts RouteSpecHttp2RouteMatchHeaderMatchRangeArgs and RouteSpecHttp2RouteMatchHeaderMatchRangeOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteMatchHeaderMatchRangeInput` via: +// RouteSpecTcpRouteActionInput is an input type that accepts RouteSpecTcpRouteActionArgs and RouteSpecTcpRouteActionOutput values. +// You can construct a concrete instance of `RouteSpecTcpRouteActionInput` via: // -// RouteSpecHttp2RouteMatchHeaderMatchRangeArgs{...} -type RouteSpecHttp2RouteMatchHeaderMatchRangeInput interface { +// RouteSpecTcpRouteActionArgs{...} +type RouteSpecTcpRouteActionInput interface { pulumi.Input - ToRouteSpecHttp2RouteMatchHeaderMatchRangeOutput() RouteSpecHttp2RouteMatchHeaderMatchRangeOutput - ToRouteSpecHttp2RouteMatchHeaderMatchRangeOutputWithContext(context.Context) RouteSpecHttp2RouteMatchHeaderMatchRangeOutput + ToRouteSpecTcpRouteActionOutput() RouteSpecTcpRouteActionOutput + ToRouteSpecTcpRouteActionOutputWithContext(context.Context) RouteSpecTcpRouteActionOutput } -type RouteSpecHttp2RouteMatchHeaderMatchRangeArgs struct { - // The end of the range. - End pulumi.IntInput `pulumi:"end"` - // The start of the range. - Start pulumi.IntInput `pulumi:"start"` +type RouteSpecTcpRouteActionArgs struct { + // The 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 (RouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteMatchHeaderMatchRange)(nil)).Elem() +func (RouteSpecTcpRouteActionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecTcpRouteAction)(nil)).Elem() } -func (i RouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ToRouteSpecHttp2RouteMatchHeaderMatchRangeOutput() RouteSpecHttp2RouteMatchHeaderMatchRangeOutput { - return i.ToRouteSpecHttp2RouteMatchHeaderMatchRangeOutputWithContext(context.Background()) +func (i RouteSpecTcpRouteActionArgs) ToRouteSpecTcpRouteActionOutput() RouteSpecTcpRouteActionOutput { + return i.ToRouteSpecTcpRouteActionOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ToRouteSpecHttp2RouteMatchHeaderMatchRangeOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) +func (i RouteSpecTcpRouteActionArgs) ToRouteSpecTcpRouteActionOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteActionOutput) } -func (i RouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput() RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { - return i.ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(context.Background()) +func (i RouteSpecTcpRouteActionArgs) ToRouteSpecTcpRouteActionPtrOutput() RouteSpecTcpRouteActionPtrOutput { + return i.ToRouteSpecTcpRouteActionPtrOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchHeaderMatchRangeOutput).ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(ctx) +func (i RouteSpecTcpRouteActionArgs) ToRouteSpecTcpRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteActionOutput).ToRouteSpecTcpRouteActionPtrOutputWithContext(ctx) } -// RouteSpecHttp2RouteMatchHeaderMatchRangePtrInput is an input type that accepts RouteSpecHttp2RouteMatchHeaderMatchRangeArgs, RouteSpecHttp2RouteMatchHeaderMatchRangePtr and RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteMatchHeaderMatchRangePtrInput` via: +// RouteSpecTcpRouteActionPtrInput is an input type that accepts RouteSpecTcpRouteActionArgs, RouteSpecTcpRouteActionPtr and RouteSpecTcpRouteActionPtrOutput values. +// You can construct a concrete instance of `RouteSpecTcpRouteActionPtrInput` via: // -// RouteSpecHttp2RouteMatchHeaderMatchRangeArgs{...} +// RouteSpecTcpRouteActionArgs{...} // // or: // // nil -type RouteSpecHttp2RouteMatchHeaderMatchRangePtrInput interface { +type RouteSpecTcpRouteActionPtrInput interface { pulumi.Input - ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput() RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput - ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(context.Context) RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput + ToRouteSpecTcpRouteActionPtrOutput() RouteSpecTcpRouteActionPtrOutput + ToRouteSpecTcpRouteActionPtrOutputWithContext(context.Context) RouteSpecTcpRouteActionPtrOutput } -type routeSpecHttp2RouteMatchHeaderMatchRangePtrType RouteSpecHttp2RouteMatchHeaderMatchRangeArgs +type routeSpecTcpRouteActionPtrType RouteSpecTcpRouteActionArgs -func RouteSpecHttp2RouteMatchHeaderMatchRangePtr(v *RouteSpecHttp2RouteMatchHeaderMatchRangeArgs) RouteSpecHttp2RouteMatchHeaderMatchRangePtrInput { - return (*routeSpecHttp2RouteMatchHeaderMatchRangePtrType)(v) +func RouteSpecTcpRouteActionPtr(v *RouteSpecTcpRouteActionArgs) RouteSpecTcpRouteActionPtrInput { + return (*routeSpecTcpRouteActionPtrType)(v) } -func (*routeSpecHttp2RouteMatchHeaderMatchRangePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2RouteMatchHeaderMatchRange)(nil)).Elem() +func (*routeSpecTcpRouteActionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecTcpRouteAction)(nil)).Elem() } - -func (i *routeSpecHttp2RouteMatchHeaderMatchRangePtrType) ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput() RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { - return i.ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(context.Background()) + +func (i *routeSpecTcpRouteActionPtrType) ToRouteSpecTcpRouteActionPtrOutput() RouteSpecTcpRouteActionPtrOutput { + return i.ToRouteSpecTcpRouteActionPtrOutputWithContext(context.Background()) } -func (i *routeSpecHttp2RouteMatchHeaderMatchRangePtrType) ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) +func (i *routeSpecTcpRouteActionPtrType) ToRouteSpecTcpRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteActionPtrOutput) } -type RouteSpecHttp2RouteMatchHeaderMatchRangeOutput struct{ *pulumi.OutputState } +type RouteSpecTcpRouteActionOutput struct{ *pulumi.OutputState } -func (RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteMatchHeaderMatchRange)(nil)).Elem() +func (RouteSpecTcpRouteActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecTcpRouteAction)(nil)).Elem() } -func (o RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ToRouteSpecHttp2RouteMatchHeaderMatchRangeOutput() RouteSpecHttp2RouteMatchHeaderMatchRangeOutput { +func (o RouteSpecTcpRouteActionOutput) ToRouteSpecTcpRouteActionOutput() RouteSpecTcpRouteActionOutput { return o } -func (o RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ToRouteSpecHttp2RouteMatchHeaderMatchRangeOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchRangeOutput { +func (o RouteSpecTcpRouteActionOutput) ToRouteSpecTcpRouteActionOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionOutput { return o } -func (o RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput() RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { - return o.ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(context.Background()) +func (o RouteSpecTcpRouteActionOutput) ToRouteSpecTcpRouteActionPtrOutput() RouteSpecTcpRouteActionPtrOutput { + return o.ToRouteSpecTcpRouteActionPtrOutputWithContext(context.Background()) } -func (o RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteMatchHeaderMatchRange) *RouteSpecHttp2RouteMatchHeaderMatchRange { +func (o RouteSpecTcpRouteActionOutput) ToRouteSpecTcpRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionPtrOutput { + return o.ApplyT(func(v RouteSpecTcpRouteAction) *RouteSpecTcpRouteAction { return &v - }).(RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) -} - -// The end of the range. -func (o RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) End() pulumi.IntOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteMatchHeaderMatchRange) int { return v.End }).(pulumi.IntOutput) + }).(RouteSpecTcpRouteActionPtrOutput) } -// The start of the range. -func (o RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) Start() pulumi.IntOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteMatchHeaderMatchRange) int { return v.Start }).(pulumi.IntOutput) +// The 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 RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput struct{ *pulumi.OutputState } +type RouteSpecTcpRouteActionPtrOutput struct{ *pulumi.OutputState } -func (RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2RouteMatchHeaderMatchRange)(nil)).Elem() +func (RouteSpecTcpRouteActionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecTcpRouteAction)(nil)).Elem() } -func (o RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput() RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { +func (o RouteSpecTcpRouteActionPtrOutput) ToRouteSpecTcpRouteActionPtrOutput() RouteSpecTcpRouteActionPtrOutput { return o } -func (o RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { +func (o RouteSpecTcpRouteActionPtrOutput) ToRouteSpecTcpRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionPtrOutput { return o } -func (o RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) Elem() RouteSpecHttp2RouteMatchHeaderMatchRangeOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteMatchHeaderMatchRange) RouteSpecHttp2RouteMatchHeaderMatchRange { return *v }).(RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) -} - -// The 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) +func (o RouteSpecTcpRouteActionPtrOutput) Elem() RouteSpecTcpRouteActionOutput { + return o.ApplyT(func(v *RouteSpecTcpRouteAction) RouteSpecTcpRouteAction { return *v }).(RouteSpecTcpRouteActionOutput) } -// The start of the range. -func (o RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) Start() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteMatchHeaderMatchRange) *int { +// The 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.Start - }).(pulumi.IntPtrOutput) + return v.WeightedTargets + }).(RouteSpecTcpRouteActionWeightedTargetArrayOutput) } -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"` - // The maximum number of retries. - MaxRetries int `pulumi:"maxRetries"` - // The per-retry timeout. - PerRetryTimeout RouteSpecHttp2RouteRetryPolicyPerRetryTimeout `pulumi:"perRetryTimeout"` - // List of TCP retry events. The only valid value is `connection-error`. - TcpRetryEvents []string `pulumi:"tcpRetryEvents"` +type RouteSpecTcpRouteActionWeightedTarget struct { + // The virtual node to associate with the weighted target. + VirtualNode string `pulumi:"virtualNode"` + // The 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: +// RouteSpecTcpRouteActionWeightedTargetInput is an input type that accepts RouteSpecTcpRouteActionWeightedTargetArgs and RouteSpecTcpRouteActionWeightedTargetOutput values. +// You can construct a concrete instance of `RouteSpecTcpRouteActionWeightedTargetInput` via: // -// RouteSpecHttp2RouteRetryPolicyArgs{...} -type RouteSpecHttp2RouteRetryPolicyInput interface { +// RouteSpecTcpRouteActionWeightedTargetArgs{...} +type RouteSpecTcpRouteActionWeightedTargetInput 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"` - // The maximum number of retries. - MaxRetries pulumi.IntInput `pulumi:"maxRetries"` - // The 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() + ToRouteSpecTcpRouteActionWeightedTargetOutput() RouteSpecTcpRouteActionWeightedTargetOutput + ToRouteSpecTcpRouteActionWeightedTargetOutputWithContext(context.Context) RouteSpecTcpRouteActionWeightedTargetOutput } -func (i RouteSpecHttp2RouteRetryPolicyArgs) ToRouteSpecHttp2RouteRetryPolicyOutput() RouteSpecHttp2RouteRetryPolicyOutput { - return i.ToRouteSpecHttp2RouteRetryPolicyOutputWithContext(context.Background()) +type RouteSpecTcpRouteActionWeightedTargetArgs struct { + // The virtual node to associate with the weighted target. + VirtualNode pulumi.StringInput `pulumi:"virtualNode"` + // The 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 (RouteSpecTcpRouteActionWeightedTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecTcpRouteActionWeightedTarget)(nil)).Elem() } -func (i RouteSpecHttp2RouteRetryPolicyArgs) ToRouteSpecHttp2RouteRetryPolicyPtrOutput() RouteSpecHttp2RouteRetryPolicyPtrOutput { - return i.ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(context.Background()) +func (i RouteSpecTcpRouteActionWeightedTargetArgs) ToRouteSpecTcpRouteActionWeightedTargetOutput() RouteSpecTcpRouteActionWeightedTargetOutput { + return i.ToRouteSpecTcpRouteActionWeightedTargetOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteRetryPolicyArgs) ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteRetryPolicyOutput).ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(ctx) +func (i RouteSpecTcpRouteActionWeightedTargetArgs) ToRouteSpecTcpRouteActionWeightedTargetOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionWeightedTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteActionWeightedTargetOutput) } -// RouteSpecHttp2RouteRetryPolicyPtrInput is an input type that accepts RouteSpecHttp2RouteRetryPolicyArgs, RouteSpecHttp2RouteRetryPolicyPtr and RouteSpecHttp2RouteRetryPolicyPtrOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteRetryPolicyPtrInput` via: -// -// RouteSpecHttp2RouteRetryPolicyArgs{...} -// -// or: +// RouteSpecTcpRouteActionWeightedTargetArrayInput is an input type that accepts RouteSpecTcpRouteActionWeightedTargetArray and RouteSpecTcpRouteActionWeightedTargetArrayOutput values. +// You can construct a concrete instance of `RouteSpecTcpRouteActionWeightedTargetArrayInput` via: // -// nil -type RouteSpecHttp2RouteRetryPolicyPtrInput interface { +// RouteSpecTcpRouteActionWeightedTargetArray{ RouteSpecTcpRouteActionWeightedTargetArgs{...} } +type RouteSpecTcpRouteActionWeightedTargetArrayInput interface { pulumi.Input - ToRouteSpecHttp2RouteRetryPolicyPtrOutput() RouteSpecHttp2RouteRetryPolicyPtrOutput - ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(context.Context) RouteSpecHttp2RouteRetryPolicyPtrOutput + ToRouteSpecTcpRouteActionWeightedTargetArrayOutput() RouteSpecTcpRouteActionWeightedTargetArrayOutput + ToRouteSpecTcpRouteActionWeightedTargetArrayOutputWithContext(context.Context) RouteSpecTcpRouteActionWeightedTargetArrayOutput } -type routeSpecHttp2RouteRetryPolicyPtrType RouteSpecHttp2RouteRetryPolicyArgs - -func RouteSpecHttp2RouteRetryPolicyPtr(v *RouteSpecHttp2RouteRetryPolicyArgs) RouteSpecHttp2RouteRetryPolicyPtrInput { - return (*routeSpecHttp2RouteRetryPolicyPtrType)(v) -} +type RouteSpecTcpRouteActionWeightedTargetArray []RouteSpecTcpRouteActionWeightedTargetInput -func (*routeSpecHttp2RouteRetryPolicyPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2RouteRetryPolicy)(nil)).Elem() +func (RouteSpecTcpRouteActionWeightedTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteSpecTcpRouteActionWeightedTarget)(nil)).Elem() } -func (i *routeSpecHttp2RouteRetryPolicyPtrType) ToRouteSpecHttp2RouteRetryPolicyPtrOutput() RouteSpecHttp2RouteRetryPolicyPtrOutput { - return i.ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(context.Background()) +func (i RouteSpecTcpRouteActionWeightedTargetArray) ToRouteSpecTcpRouteActionWeightedTargetArrayOutput() RouteSpecTcpRouteActionWeightedTargetArrayOutput { + return i.ToRouteSpecTcpRouteActionWeightedTargetArrayOutputWithContext(context.Background()) } -func (i *routeSpecHttp2RouteRetryPolicyPtrType) ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteRetryPolicyPtrOutput) +func (i RouteSpecTcpRouteActionWeightedTargetArray) ToRouteSpecTcpRouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionWeightedTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteActionWeightedTargetArrayOutput) } -type RouteSpecHttp2RouteRetryPolicyOutput struct{ *pulumi.OutputState } - -func (RouteSpecHttp2RouteRetryPolicyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteRetryPolicy)(nil)).Elem() -} +type RouteSpecTcpRouteActionWeightedTargetOutput struct{ *pulumi.OutputState } -func (o RouteSpecHttp2RouteRetryPolicyOutput) ToRouteSpecHttp2RouteRetryPolicyOutput() RouteSpecHttp2RouteRetryPolicyOutput { - return o +func (RouteSpecTcpRouteActionWeightedTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecTcpRouteActionWeightedTarget)(nil)).Elem() } -func (o RouteSpecHttp2RouteRetryPolicyOutput) ToRouteSpecHttp2RouteRetryPolicyOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyOutput { +func (o RouteSpecTcpRouteActionWeightedTargetOutput) ToRouteSpecTcpRouteActionWeightedTargetOutput() RouteSpecTcpRouteActionWeightedTargetOutput { return o } -func (o RouteSpecHttp2RouteRetryPolicyOutput) ToRouteSpecHttp2RouteRetryPolicyPtrOutput() RouteSpecHttp2RouteRetryPolicyPtrOutput { - return o.ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(context.Background()) -} - -func (o RouteSpecHttp2RouteRetryPolicyOutput) ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPtrOutput { - return o.ApplyT(func(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) -} - -// The maximum number of retries. -func (o RouteSpecHttp2RouteRetryPolicyOutput) MaxRetries() pulumi.IntOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteRetryPolicy) int { return v.MaxRetries }).(pulumi.IntOutput) -} - -// The per-retry timeout. -func (o RouteSpecHttp2RouteRetryPolicyOutput) PerRetryTimeout() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteRetryPolicy) RouteSpecHttp2RouteRetryPolicyPerRetryTimeout { - return v.PerRetryTimeout - }).(RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) -} - -// 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 RouteSpecHttp2RouteRetryPolicyPtrOutput struct{ *pulumi.OutputState } - -func (RouteSpecHttp2RouteRetryPolicyPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2RouteRetryPolicy)(nil)).Elem() -} - -func (o RouteSpecHttp2RouteRetryPolicyPtrOutput) ToRouteSpecHttp2RouteRetryPolicyPtrOutput() RouteSpecHttp2RouteRetryPolicyPtrOutput { +func (o RouteSpecTcpRouteActionWeightedTargetOutput) ToRouteSpecTcpRouteActionWeightedTargetOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionWeightedTargetOutput { return o } -func (o RouteSpecHttp2RouteRetryPolicyPtrOutput) ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPtrOutput { - return o +// The virtual node to associate with the weighted target. +func (o RouteSpecTcpRouteActionWeightedTargetOutput) VirtualNode() pulumi.StringOutput { + return o.ApplyT(func(v RouteSpecTcpRouteActionWeightedTarget) string { return v.VirtualNode }).(pulumi.StringOutput) } -func (o RouteSpecHttp2RouteRetryPolicyPtrOutput) Elem() RouteSpecHttp2RouteRetryPolicyOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteRetryPolicy) RouteSpecHttp2RouteRetryPolicy { return *v }).(RouteSpecHttp2RouteRetryPolicyOutput) +// The 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) } -// 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) -} +type RouteSpecTcpRouteActionWeightedTargetArrayOutput struct{ *pulumi.OutputState } -// The 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) +func (RouteSpecTcpRouteActionWeightedTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteSpecTcpRouteActionWeightedTarget)(nil)).Elem() } -// The per-retry timeout. -func (o RouteSpecHttp2RouteRetryPolicyPtrOutput) PerRetryTimeout() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteRetryPolicy) *RouteSpecHttp2RouteRetryPolicyPerRetryTimeout { - if v == nil { - return nil - } - return &v.PerRetryTimeout - }).(RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput) +func (o RouteSpecTcpRouteActionWeightedTargetArrayOutput) ToRouteSpecTcpRouteActionWeightedTargetArrayOutput() RouteSpecTcpRouteActionWeightedTargetArrayOutput { + return o } -// 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 RouteSpecTcpRouteActionWeightedTargetArrayOutput) ToRouteSpecTcpRouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionWeightedTargetArrayOutput { + return o } -type RouteSpecHttp2RouteRetryPolicyPerRetryTimeout struct { - // Retry unit. Valid values: `ms`, `s`. - Unit string `pulumi:"unit"` - // Retry value. - Value int `pulumi:"value"` +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) } -// RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutInput is an input type that accepts RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs and RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutInput` via: +type RouteSpecTcpRouteTimeout struct { + // The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + Idle *RouteSpecTcpRouteTimeoutIdle `pulumi:"idle"` +} + +// RouteSpecTcpRouteTimeoutInput is an input type that accepts RouteSpecTcpRouteTimeoutArgs and RouteSpecTcpRouteTimeoutOutput values. +// You can construct a concrete instance of `RouteSpecTcpRouteTimeoutInput` via: // -// RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs{...} -type RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutInput interface { +// RouteSpecTcpRouteTimeoutArgs{...} +type RouteSpecTcpRouteTimeoutInput interface { pulumi.Input - ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput - ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutputWithContext(context.Context) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput + ToRouteSpecTcpRouteTimeoutOutput() RouteSpecTcpRouteTimeoutOutput + ToRouteSpecTcpRouteTimeoutOutputWithContext(context.Context) RouteSpecTcpRouteTimeoutOutput } -type RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs struct { - // Retry unit. Valid values: `ms`, `s`. - Unit pulumi.StringInput `pulumi:"unit"` - // Retry value. - Value pulumi.IntInput `pulumi:"value"` +type RouteSpecTcpRouteTimeoutArgs struct { + // The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + Idle RouteSpecTcpRouteTimeoutIdlePtrInput `pulumi:"idle"` } -func (RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteRetryPolicyPerRetryTimeout)(nil)).Elem() +func (RouteSpecTcpRouteTimeoutArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecTcpRouteTimeout)(nil)).Elem() } -func (i RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { - return i.ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutputWithContext(context.Background()) +func (i RouteSpecTcpRouteTimeoutArgs) ToRouteSpecTcpRouteTimeoutOutput() RouteSpecTcpRouteTimeoutOutput { + return i.ToRouteSpecTcpRouteTimeoutOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) +func (i RouteSpecTcpRouteTimeoutArgs) ToRouteSpecTcpRouteTimeoutOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteTimeoutOutput) } -func (i RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput { - return i.ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Background()) +func (i RouteSpecTcpRouteTimeoutArgs) ToRouteSpecTcpRouteTimeoutPtrOutput() RouteSpecTcpRouteTimeoutPtrOutput { + return i.ToRouteSpecTcpRouteTimeoutPtrOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput).ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx) +func (i RouteSpecTcpRouteTimeoutArgs) ToRouteSpecTcpRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteTimeoutOutput).ToRouteSpecTcpRouteTimeoutPtrOutputWithContext(ctx) } -// RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrInput is an input type that accepts RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs, RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtr and RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrInput` via: +// RouteSpecTcpRouteTimeoutPtrInput is an input type that accepts RouteSpecTcpRouteTimeoutArgs, RouteSpecTcpRouteTimeoutPtr and RouteSpecTcpRouteTimeoutPtrOutput values. +// You can construct a concrete instance of `RouteSpecTcpRouteTimeoutPtrInput` via: // -// RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs{...} +// RouteSpecTcpRouteTimeoutArgs{...} // // or: // // nil -type RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrInput interface { +type RouteSpecTcpRouteTimeoutPtrInput interface { pulumi.Input - ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput - ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Context) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput + ToRouteSpecTcpRouteTimeoutPtrOutput() RouteSpecTcpRouteTimeoutPtrOutput + ToRouteSpecTcpRouteTimeoutPtrOutputWithContext(context.Context) RouteSpecTcpRouteTimeoutPtrOutput } -type routeSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrType RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs +type routeSpecTcpRouteTimeoutPtrType RouteSpecTcpRouteTimeoutArgs -func RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtr(v *RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrInput { - return (*routeSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrType)(v) +func RouteSpecTcpRouteTimeoutPtr(v *RouteSpecTcpRouteTimeoutArgs) RouteSpecTcpRouteTimeoutPtrInput { + return (*routeSpecTcpRouteTimeoutPtrType)(v) } -func (*routeSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2RouteRetryPolicyPerRetryTimeout)(nil)).Elem() +func (*routeSpecTcpRouteTimeoutPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecTcpRouteTimeout)(nil)).Elem() } -func (i *routeSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrType) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput { - return i.ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Background()) +func (i *routeSpecTcpRouteTimeoutPtrType) ToRouteSpecTcpRouteTimeoutPtrOutput() RouteSpecTcpRouteTimeoutPtrOutput { + return i.ToRouteSpecTcpRouteTimeoutPtrOutputWithContext(context.Background()) } -func (i *routeSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrType) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput) +func (i *routeSpecTcpRouteTimeoutPtrType) ToRouteSpecTcpRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteTimeoutPtrOutput) } -type RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput struct{ *pulumi.OutputState } +type RouteSpecTcpRouteTimeoutOutput struct{ *pulumi.OutputState } -func (RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteRetryPolicyPerRetryTimeout)(nil)).Elem() +func (RouteSpecTcpRouteTimeoutOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecTcpRouteTimeout)(nil)).Elem() } -func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { +func (o RouteSpecTcpRouteTimeoutOutput) ToRouteSpecTcpRouteTimeoutOutput() RouteSpecTcpRouteTimeoutOutput { return o } -func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { +func (o RouteSpecTcpRouteTimeoutOutput) ToRouteSpecTcpRouteTimeoutOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutOutput { return o } -func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput { - return o.ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Background()) +func (o RouteSpecTcpRouteTimeoutOutput) ToRouteSpecTcpRouteTimeoutPtrOutput() RouteSpecTcpRouteTimeoutPtrOutput { + return o.ToRouteSpecTcpRouteTimeoutPtrOutputWithContext(context.Background()) } -func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteRetryPolicyPerRetryTimeout) *RouteSpecHttp2RouteRetryPolicyPerRetryTimeout { +func (o RouteSpecTcpRouteTimeoutOutput) ToRouteSpecTcpRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutPtrOutput { + return o.ApplyT(func(v RouteSpecTcpRouteTimeout) *RouteSpecTcpRouteTimeout { return &v - }).(RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput) -} - -// Retry unit. Valid values: `ms`, `s`. -func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) Unit() pulumi.StringOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteRetryPolicyPerRetryTimeout) string { return v.Unit }).(pulumi.StringOutput) + }).(RouteSpecTcpRouteTimeoutPtrOutput) } -// Retry value. -func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) Value() pulumi.IntOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteRetryPolicyPerRetryTimeout) int { return v.Value }).(pulumi.IntOutput) +// The 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 RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput struct{ *pulumi.OutputState } +type RouteSpecTcpRouteTimeoutPtrOutput struct{ *pulumi.OutputState } -func (RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2RouteRetryPolicyPerRetryTimeout)(nil)).Elem() +func (RouteSpecTcpRouteTimeoutPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecTcpRouteTimeout)(nil)).Elem() } -func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput { +func (o RouteSpecTcpRouteTimeoutPtrOutput) ToRouteSpecTcpRouteTimeoutPtrOutput() RouteSpecTcpRouteTimeoutPtrOutput { return o } -func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput { +func (o RouteSpecTcpRouteTimeoutPtrOutput) ToRouteSpecTcpRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutPtrOutput { return o } -func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput) Elem() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteRetryPolicyPerRetryTimeout) RouteSpecHttp2RouteRetryPolicyPerRetryTimeout { - return *v - }).(RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) -} - -// 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) +func (o RouteSpecTcpRouteTimeoutPtrOutput) Elem() RouteSpecTcpRouteTimeoutOutput { + return o.ApplyT(func(v *RouteSpecTcpRouteTimeout) RouteSpecTcpRouteTimeout { return *v }).(RouteSpecTcpRouteTimeoutOutput) } -// Retry value. -func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput) Value() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteRetryPolicyPerRetryTimeout) *int { +// The 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.Value - }).(pulumi.IntPtrOutput) + return v.Idle + }).(RouteSpecTcpRouteTimeoutIdlePtrOutput) } -type RouteSpecHttpRoute struct { - // The action to take if a match is determined. - Action RouteSpecHttpRouteAction `pulumi:"action"` - // The criteria for determining an HTTP request match. - Match RouteSpecHttpRouteMatch `pulumi:"match"` - // The retry policy. - RetryPolicy *RouteSpecHttpRouteRetryPolicy `pulumi:"retryPolicy"` +type RouteSpecTcpRouteTimeoutIdle struct { + // The unit of time. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // The number of time units. Minimum value of `0`. + Value int `pulumi:"value"` } -// RouteSpecHttpRouteInput is an input type that accepts RouteSpecHttpRouteArgs and RouteSpecHttpRouteOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteInput` via: +// RouteSpecTcpRouteTimeoutIdleInput is an input type that accepts RouteSpecTcpRouteTimeoutIdleArgs and RouteSpecTcpRouteTimeoutIdleOutput values. +// You can construct a concrete instance of `RouteSpecTcpRouteTimeoutIdleInput` via: // -// RouteSpecHttpRouteArgs{...} -type RouteSpecHttpRouteInput interface { +// RouteSpecTcpRouteTimeoutIdleArgs{...} +type RouteSpecTcpRouteTimeoutIdleInput interface { pulumi.Input - ToRouteSpecHttpRouteOutput() RouteSpecHttpRouteOutput - ToRouteSpecHttpRouteOutputWithContext(context.Context) RouteSpecHttpRouteOutput + ToRouteSpecTcpRouteTimeoutIdleOutput() RouteSpecTcpRouteTimeoutIdleOutput + ToRouteSpecTcpRouteTimeoutIdleOutputWithContext(context.Context) RouteSpecTcpRouteTimeoutIdleOutput } -type RouteSpecHttpRouteArgs struct { - // The action to take if a match is determined. - Action RouteSpecHttpRouteActionInput `pulumi:"action"` - // The criteria for determining an HTTP request match. - Match RouteSpecHttpRouteMatchInput `pulumi:"match"` - // The retry policy. - RetryPolicy RouteSpecHttpRouteRetryPolicyPtrInput `pulumi:"retryPolicy"` +type RouteSpecTcpRouteTimeoutIdleArgs struct { + // The unit of time. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // The number of time units. Minimum value of `0`. + Value pulumi.IntInput `pulumi:"value"` } -func (RouteSpecHttpRouteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRoute)(nil)).Elem() +func (RouteSpecTcpRouteTimeoutIdleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecTcpRouteTimeoutIdle)(nil)).Elem() } -func (i RouteSpecHttpRouteArgs) ToRouteSpecHttpRouteOutput() RouteSpecHttpRouteOutput { - return i.ToRouteSpecHttpRouteOutputWithContext(context.Background()) +func (i RouteSpecTcpRouteTimeoutIdleArgs) ToRouteSpecTcpRouteTimeoutIdleOutput() RouteSpecTcpRouteTimeoutIdleOutput { + return i.ToRouteSpecTcpRouteTimeoutIdleOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteArgs) ToRouteSpecHttpRouteOutputWithContext(ctx context.Context) RouteSpecHttpRouteOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteOutput) +func (i RouteSpecTcpRouteTimeoutIdleArgs) ToRouteSpecTcpRouteTimeoutIdleOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutIdleOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteTimeoutIdleOutput) } -func (i RouteSpecHttpRouteArgs) ToRouteSpecHttpRoutePtrOutput() RouteSpecHttpRoutePtrOutput { - return i.ToRouteSpecHttpRoutePtrOutputWithContext(context.Background()) +func (i RouteSpecTcpRouteTimeoutIdleArgs) ToRouteSpecTcpRouteTimeoutIdlePtrOutput() RouteSpecTcpRouteTimeoutIdlePtrOutput { + return i.ToRouteSpecTcpRouteTimeoutIdlePtrOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteArgs) ToRouteSpecHttpRoutePtrOutputWithContext(ctx context.Context) RouteSpecHttpRoutePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteOutput).ToRouteSpecHttpRoutePtrOutputWithContext(ctx) +func (i RouteSpecTcpRouteTimeoutIdleArgs) ToRouteSpecTcpRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutIdlePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteTimeoutIdleOutput).ToRouteSpecTcpRouteTimeoutIdlePtrOutputWithContext(ctx) } -// RouteSpecHttpRoutePtrInput is an input type that accepts RouteSpecHttpRouteArgs, RouteSpecHttpRoutePtr and RouteSpecHttpRoutePtrOutput values. -// You can construct a concrete instance of `RouteSpecHttpRoutePtrInput` via: +// RouteSpecTcpRouteTimeoutIdlePtrInput is an input type that accepts RouteSpecTcpRouteTimeoutIdleArgs, RouteSpecTcpRouteTimeoutIdlePtr and RouteSpecTcpRouteTimeoutIdlePtrOutput values. +// You can construct a concrete instance of `RouteSpecTcpRouteTimeoutIdlePtrInput` via: // -// RouteSpecHttpRouteArgs{...} +// RouteSpecTcpRouteTimeoutIdleArgs{...} // // or: // // nil -type RouteSpecHttpRoutePtrInput interface { +type RouteSpecTcpRouteTimeoutIdlePtrInput interface { pulumi.Input - ToRouteSpecHttpRoutePtrOutput() RouteSpecHttpRoutePtrOutput - ToRouteSpecHttpRoutePtrOutputWithContext(context.Context) RouteSpecHttpRoutePtrOutput + ToRouteSpecTcpRouteTimeoutIdlePtrOutput() RouteSpecTcpRouteTimeoutIdlePtrOutput + ToRouteSpecTcpRouteTimeoutIdlePtrOutputWithContext(context.Context) RouteSpecTcpRouteTimeoutIdlePtrOutput } -type routeSpecHttpRoutePtrType RouteSpecHttpRouteArgs +type routeSpecTcpRouteTimeoutIdlePtrType RouteSpecTcpRouteTimeoutIdleArgs -func RouteSpecHttpRoutePtr(v *RouteSpecHttpRouteArgs) RouteSpecHttpRoutePtrInput { - return (*routeSpecHttpRoutePtrType)(v) +func RouteSpecTcpRouteTimeoutIdlePtr(v *RouteSpecTcpRouteTimeoutIdleArgs) RouteSpecTcpRouteTimeoutIdlePtrInput { + return (*routeSpecTcpRouteTimeoutIdlePtrType)(v) } -func (*routeSpecHttpRoutePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRoute)(nil)).Elem() +func (*routeSpecTcpRouteTimeoutIdlePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecTcpRouteTimeoutIdle)(nil)).Elem() } -func (i *routeSpecHttpRoutePtrType) ToRouteSpecHttpRoutePtrOutput() RouteSpecHttpRoutePtrOutput { - return i.ToRouteSpecHttpRoutePtrOutputWithContext(context.Background()) +func (i *routeSpecTcpRouteTimeoutIdlePtrType) ToRouteSpecTcpRouteTimeoutIdlePtrOutput() RouteSpecTcpRouteTimeoutIdlePtrOutput { + return i.ToRouteSpecTcpRouteTimeoutIdlePtrOutputWithContext(context.Background()) } -func (i *routeSpecHttpRoutePtrType) ToRouteSpecHttpRoutePtrOutputWithContext(ctx context.Context) RouteSpecHttpRoutePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRoutePtrOutput) +func (i *routeSpecTcpRouteTimeoutIdlePtrType) ToRouteSpecTcpRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutIdlePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteTimeoutIdlePtrOutput) } -type RouteSpecHttpRouteOutput struct{ *pulumi.OutputState } +type RouteSpecTcpRouteTimeoutIdleOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRouteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRoute)(nil)).Elem() +func (RouteSpecTcpRouteTimeoutIdleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecTcpRouteTimeoutIdle)(nil)).Elem() } -func (o RouteSpecHttpRouteOutput) ToRouteSpecHttpRouteOutput() RouteSpecHttpRouteOutput { +func (o RouteSpecTcpRouteTimeoutIdleOutput) ToRouteSpecTcpRouteTimeoutIdleOutput() RouteSpecTcpRouteTimeoutIdleOutput { return o } -func (o RouteSpecHttpRouteOutput) ToRouteSpecHttpRouteOutputWithContext(ctx context.Context) RouteSpecHttpRouteOutput { +func (o RouteSpecTcpRouteTimeoutIdleOutput) ToRouteSpecTcpRouteTimeoutIdleOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutIdleOutput { return o } -func (o RouteSpecHttpRouteOutput) ToRouteSpecHttpRoutePtrOutput() RouteSpecHttpRoutePtrOutput { - return o.ToRouteSpecHttpRoutePtrOutputWithContext(context.Background()) +func (o RouteSpecTcpRouteTimeoutIdleOutput) ToRouteSpecTcpRouteTimeoutIdlePtrOutput() RouteSpecTcpRouteTimeoutIdlePtrOutput { + return o.ToRouteSpecTcpRouteTimeoutIdlePtrOutputWithContext(context.Background()) } -func (o RouteSpecHttpRouteOutput) ToRouteSpecHttpRoutePtrOutputWithContext(ctx context.Context) RouteSpecHttpRoutePtrOutput { - return o.ApplyT(func(v RouteSpecHttpRoute) *RouteSpecHttpRoute { +func (o RouteSpecTcpRouteTimeoutIdleOutput) ToRouteSpecTcpRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutIdlePtrOutput { + return o.ApplyT(func(v RouteSpecTcpRouteTimeoutIdle) *RouteSpecTcpRouteTimeoutIdle { return &v - }).(RouteSpecHttpRoutePtrOutput) -} - -// The action to take if a match is determined. -func (o RouteSpecHttpRouteOutput) Action() RouteSpecHttpRouteActionOutput { - return o.ApplyT(func(v RouteSpecHttpRoute) RouteSpecHttpRouteAction { return v.Action }).(RouteSpecHttpRouteActionOutput) + }).(RouteSpecTcpRouteTimeoutIdlePtrOutput) } -// The criteria for determining an HTTP request match. -func (o RouteSpecHttpRouteOutput) Match() RouteSpecHttpRouteMatchOutput { - return o.ApplyT(func(v RouteSpecHttpRoute) RouteSpecHttpRouteMatch { return v.Match }).(RouteSpecHttpRouteMatchOutput) +// The 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) } -// The retry policy. -func (o RouteSpecHttpRouteOutput) RetryPolicy() RouteSpecHttpRouteRetryPolicyPtrOutput { - return o.ApplyT(func(v RouteSpecHttpRoute) *RouteSpecHttpRouteRetryPolicy { return v.RetryPolicy }).(RouteSpecHttpRouteRetryPolicyPtrOutput) +// The 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) } -type RouteSpecHttpRoutePtrOutput struct{ *pulumi.OutputState } +type RouteSpecTcpRouteTimeoutIdlePtrOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRoutePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRoute)(nil)).Elem() +func (RouteSpecTcpRouteTimeoutIdlePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecTcpRouteTimeoutIdle)(nil)).Elem() } -func (o RouteSpecHttpRoutePtrOutput) ToRouteSpecHttpRoutePtrOutput() RouteSpecHttpRoutePtrOutput { +func (o RouteSpecTcpRouteTimeoutIdlePtrOutput) ToRouteSpecTcpRouteTimeoutIdlePtrOutput() RouteSpecTcpRouteTimeoutIdlePtrOutput { return o } -func (o RouteSpecHttpRoutePtrOutput) ToRouteSpecHttpRoutePtrOutputWithContext(ctx context.Context) RouteSpecHttpRoutePtrOutput { +func (o RouteSpecTcpRouteTimeoutIdlePtrOutput) ToRouteSpecTcpRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutIdlePtrOutput { return o } -func (o RouteSpecHttpRoutePtrOutput) Elem() RouteSpecHttpRouteOutput { - return o.ApplyT(func(v *RouteSpecHttpRoute) RouteSpecHttpRoute { return *v }).(RouteSpecHttpRouteOutput) -} - -// The 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) +func (o RouteSpecTcpRouteTimeoutIdlePtrOutput) Elem() RouteSpecTcpRouteTimeoutIdleOutput { + return o.ApplyT(func(v *RouteSpecTcpRouteTimeoutIdle) RouteSpecTcpRouteTimeoutIdle { return *v }).(RouteSpecTcpRouteTimeoutIdleOutput) } -// The criteria for determining an HTTP request match. -func (o RouteSpecHttpRoutePtrOutput) Match() RouteSpecHttpRouteMatchPtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRoute) *RouteSpecHttpRouteMatch { +// The 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.Match - }).(RouteSpecHttpRouteMatchPtrOutput) + return &v.Unit + }).(pulumi.StringPtrOutput) } -// The retry policy. -func (o RouteSpecHttpRoutePtrOutput) RetryPolicy() RouteSpecHttpRouteRetryPolicyPtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRoute) *RouteSpecHttpRouteRetryPolicy { +// The 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.RetryPolicy - }).(RouteSpecHttpRouteRetryPolicyPtrOutput) + return &v.Value + }).(pulumi.IntPtrOutput) } -type RouteSpecHttpRouteAction struct { - // The 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 VirtualNodeSpec struct { + // The defaults for backends. + BackendDefaults *VirtualNodeSpecBackendDefaults `pulumi:"backendDefaults"` + // The backends to which the virtual node is expected to send outbound traffic. + Backends []VirtualNodeSpecBackend `pulumi:"backends"` + // The listeners from which the virtual node is expected to receive inbound traffic. + Listener *VirtualNodeSpecListener `pulumi:"listener"` + // The inbound and outbound access logging information for the virtual node. + Logging *VirtualNodeSpecLogging `pulumi:"logging"` + // The service discovery information for the virtual node. + ServiceDiscovery *VirtualNodeSpecServiceDiscovery `pulumi:"serviceDiscovery"` } -// RouteSpecHttpRouteActionInput is an input type that accepts RouteSpecHttpRouteActionArgs and RouteSpecHttpRouteActionOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteActionInput` via: +// VirtualNodeSpecInput is an input type that accepts VirtualNodeSpecArgs and VirtualNodeSpecOutput values. +// You can construct a concrete instance of `VirtualNodeSpecInput` via: // -// RouteSpecHttpRouteActionArgs{...} -type RouteSpecHttpRouteActionInput interface { +// VirtualNodeSpecArgs{...} +type VirtualNodeSpecInput interface { pulumi.Input - ToRouteSpecHttpRouteActionOutput() RouteSpecHttpRouteActionOutput - ToRouteSpecHttpRouteActionOutputWithContext(context.Context) RouteSpecHttpRouteActionOutput + ToVirtualNodeSpecOutput() VirtualNodeSpecOutput + ToVirtualNodeSpecOutputWithContext(context.Context) VirtualNodeSpecOutput } -type RouteSpecHttpRouteActionArgs struct { - // The 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"` +type VirtualNodeSpecArgs struct { + // The defaults for backends. + BackendDefaults VirtualNodeSpecBackendDefaultsPtrInput `pulumi:"backendDefaults"` + // The backends to which the virtual node is expected to send outbound traffic. + Backends VirtualNodeSpecBackendArrayInput `pulumi:"backends"` + // The listeners from which the virtual node is expected to receive inbound traffic. + Listener VirtualNodeSpecListenerPtrInput `pulumi:"listener"` + // The inbound and outbound access logging information for the virtual node. + Logging VirtualNodeSpecLoggingPtrInput `pulumi:"logging"` + // The service discovery information for the virtual node. + ServiceDiscovery VirtualNodeSpecServiceDiscoveryPtrInput `pulumi:"serviceDiscovery"` } -func (RouteSpecHttpRouteActionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteAction)(nil)).Elem() +func (VirtualNodeSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpec)(nil)).Elem() } -func (i RouteSpecHttpRouteActionArgs) ToRouteSpecHttpRouteActionOutput() RouteSpecHttpRouteActionOutput { - return i.ToRouteSpecHttpRouteActionOutputWithContext(context.Background()) +func (i VirtualNodeSpecArgs) ToVirtualNodeSpecOutput() VirtualNodeSpecOutput { + return i.ToVirtualNodeSpecOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteActionArgs) ToRouteSpecHttpRouteActionOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteActionOutput) +func (i VirtualNodeSpecArgs) ToVirtualNodeSpecOutputWithContext(ctx context.Context) VirtualNodeSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecOutput) } -func (i RouteSpecHttpRouteActionArgs) ToRouteSpecHttpRouteActionPtrOutput() RouteSpecHttpRouteActionPtrOutput { - return i.ToRouteSpecHttpRouteActionPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecArgs) ToVirtualNodeSpecPtrOutput() VirtualNodeSpecPtrOutput { + return i.ToVirtualNodeSpecPtrOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteActionArgs) ToRouteSpecHttpRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteActionOutput).ToRouteSpecHttpRouteActionPtrOutputWithContext(ctx) +func (i VirtualNodeSpecArgs) ToVirtualNodeSpecPtrOutputWithContext(ctx context.Context) VirtualNodeSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecOutput).ToVirtualNodeSpecPtrOutputWithContext(ctx) } -// RouteSpecHttpRouteActionPtrInput is an input type that accepts RouteSpecHttpRouteActionArgs, RouteSpecHttpRouteActionPtr and RouteSpecHttpRouteActionPtrOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteActionPtrInput` via: +// VirtualNodeSpecPtrInput is an input type that accepts VirtualNodeSpecArgs, VirtualNodeSpecPtr and VirtualNodeSpecPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecPtrInput` via: // -// RouteSpecHttpRouteActionArgs{...} +// VirtualNodeSpecArgs{...} // // or: // // nil -type RouteSpecHttpRouteActionPtrInput interface { +type VirtualNodeSpecPtrInput interface { pulumi.Input - ToRouteSpecHttpRouteActionPtrOutput() RouteSpecHttpRouteActionPtrOutput - ToRouteSpecHttpRouteActionPtrOutputWithContext(context.Context) RouteSpecHttpRouteActionPtrOutput + ToVirtualNodeSpecPtrOutput() VirtualNodeSpecPtrOutput + ToVirtualNodeSpecPtrOutputWithContext(context.Context) VirtualNodeSpecPtrOutput } -type routeSpecHttpRouteActionPtrType RouteSpecHttpRouteActionArgs +type virtualNodeSpecPtrType VirtualNodeSpecArgs -func RouteSpecHttpRouteActionPtr(v *RouteSpecHttpRouteActionArgs) RouteSpecHttpRouteActionPtrInput { - return (*routeSpecHttpRouteActionPtrType)(v) +func VirtualNodeSpecPtr(v *VirtualNodeSpecArgs) VirtualNodeSpecPtrInput { + return (*virtualNodeSpecPtrType)(v) } -func (*routeSpecHttpRouteActionPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRouteAction)(nil)).Elem() +func (*virtualNodeSpecPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpec)(nil)).Elem() } -func (i *routeSpecHttpRouteActionPtrType) ToRouteSpecHttpRouteActionPtrOutput() RouteSpecHttpRouteActionPtrOutput { - return i.ToRouteSpecHttpRouteActionPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecPtrType) ToVirtualNodeSpecPtrOutput() VirtualNodeSpecPtrOutput { + return i.ToVirtualNodeSpecPtrOutputWithContext(context.Background()) } -func (i *routeSpecHttpRouteActionPtrType) ToRouteSpecHttpRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteActionPtrOutput) +func (i *virtualNodeSpecPtrType) ToVirtualNodeSpecPtrOutputWithContext(ctx context.Context) VirtualNodeSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecPtrOutput) } -type RouteSpecHttpRouteActionOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRouteActionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteAction)(nil)).Elem() +func (VirtualNodeSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpec)(nil)).Elem() } -func (o RouteSpecHttpRouteActionOutput) ToRouteSpecHttpRouteActionOutput() RouteSpecHttpRouteActionOutput { +func (o VirtualNodeSpecOutput) ToVirtualNodeSpecOutput() VirtualNodeSpecOutput { return o } -func (o RouteSpecHttpRouteActionOutput) ToRouteSpecHttpRouteActionOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionOutput { +func (o VirtualNodeSpecOutput) ToVirtualNodeSpecOutputWithContext(ctx context.Context) VirtualNodeSpecOutput { return o } -func (o RouteSpecHttpRouteActionOutput) ToRouteSpecHttpRouteActionPtrOutput() RouteSpecHttpRouteActionPtrOutput { - return o.ToRouteSpecHttpRouteActionPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecOutput) ToVirtualNodeSpecPtrOutput() VirtualNodeSpecPtrOutput { + return o.ToVirtualNodeSpecPtrOutputWithContext(context.Background()) } -func (o RouteSpecHttpRouteActionOutput) ToRouteSpecHttpRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionPtrOutput { - return o.ApplyT(func(v RouteSpecHttpRouteAction) *RouteSpecHttpRouteAction { +func (o VirtualNodeSpecOutput) ToVirtualNodeSpecPtrOutputWithContext(ctx context.Context) VirtualNodeSpecPtrOutput { + return o.ApplyT(func(v VirtualNodeSpec) *VirtualNodeSpec { return &v - }).(RouteSpecHttpRouteActionPtrOutput) + }).(VirtualNodeSpecPtrOutput) } -// The 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) +// The defaults for backends. +func (o VirtualNodeSpecOutput) BackendDefaults() VirtualNodeSpecBackendDefaultsPtrOutput { + return o.ApplyT(func(v VirtualNodeSpec) *VirtualNodeSpecBackendDefaults { return v.BackendDefaults }).(VirtualNodeSpecBackendDefaultsPtrOutput) } -type RouteSpecHttpRouteActionPtrOutput struct{ *pulumi.OutputState } +// The 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 (RouteSpecHttpRouteActionPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRouteAction)(nil)).Elem() +// The 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 RouteSpecHttpRouteActionPtrOutput) ToRouteSpecHttpRouteActionPtrOutput() RouteSpecHttpRouteActionPtrOutput { +// The 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) +} + +// The service discovery information for the virtual node. +func (o VirtualNodeSpecOutput) ServiceDiscovery() VirtualNodeSpecServiceDiscoveryPtrOutput { + return o.ApplyT(func(v VirtualNodeSpec) *VirtualNodeSpecServiceDiscovery { return v.ServiceDiscovery }).(VirtualNodeSpecServiceDiscoveryPtrOutput) +} + +type VirtualNodeSpecPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpec)(nil)).Elem() +} + +func (o VirtualNodeSpecPtrOutput) ToVirtualNodeSpecPtrOutput() VirtualNodeSpecPtrOutput { return o } -func (o RouteSpecHttpRouteActionPtrOutput) ToRouteSpecHttpRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionPtrOutput { +func (o VirtualNodeSpecPtrOutput) ToVirtualNodeSpecPtrOutputWithContext(ctx context.Context) VirtualNodeSpecPtrOutput { return o } -func (o RouteSpecHttpRouteActionPtrOutput) Elem() RouteSpecHttpRouteActionOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteAction) RouteSpecHttpRouteAction { return *v }).(RouteSpecHttpRouteActionOutput) +func (o VirtualNodeSpecPtrOutput) Elem() VirtualNodeSpecOutput { + return o.ApplyT(func(v *VirtualNodeSpec) VirtualNodeSpec { return *v }).(VirtualNodeSpecOutput) } -// The 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 { +// The defaults for backends. +func (o VirtualNodeSpecPtrOutput) BackendDefaults() VirtualNodeSpecBackendDefaultsPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpec) *VirtualNodeSpecBackendDefaults { if v == nil { return nil } - return v.WeightedTargets - }).(RouteSpecHttpRouteActionWeightedTargetArrayOutput) + return v.BackendDefaults + }).(VirtualNodeSpecBackendDefaultsPtrOutput) } -type RouteSpecHttpRouteActionWeightedTarget struct { - // The virtual node to associate with the weighted target. - VirtualNode string `pulumi:"virtualNode"` - // The relative weight of the weighted target. An integer between 0 and 100. - Weight int `pulumi:"weight"` +// The 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) } -// RouteSpecHttpRouteActionWeightedTargetInput is an input type that accepts RouteSpecHttpRouteActionWeightedTargetArgs and RouteSpecHttpRouteActionWeightedTargetOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteActionWeightedTargetInput` via: +// The 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) +} + +// The 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) +} + +// The 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) +} + +type VirtualNodeSpecBackend struct { + // Specifies a virtual service to use as a backend for a virtual node. + VirtualService VirtualNodeSpecBackendVirtualService `pulumi:"virtualService"` +} + +// VirtualNodeSpecBackendInput is an input type that accepts VirtualNodeSpecBackendArgs and VirtualNodeSpecBackendOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendInput` via: // -// RouteSpecHttpRouteActionWeightedTargetArgs{...} -type RouteSpecHttpRouteActionWeightedTargetInput interface { +// VirtualNodeSpecBackendArgs{...} +type VirtualNodeSpecBackendInput interface { pulumi.Input - ToRouteSpecHttpRouteActionWeightedTargetOutput() RouteSpecHttpRouteActionWeightedTargetOutput - ToRouteSpecHttpRouteActionWeightedTargetOutputWithContext(context.Context) RouteSpecHttpRouteActionWeightedTargetOutput + ToVirtualNodeSpecBackendOutput() VirtualNodeSpecBackendOutput + ToVirtualNodeSpecBackendOutputWithContext(context.Context) VirtualNodeSpecBackendOutput } -type RouteSpecHttpRouteActionWeightedTargetArgs struct { - // The virtual node to associate with the weighted target. - VirtualNode pulumi.StringInput `pulumi:"virtualNode"` - // The relative weight of the weighted target. An integer between 0 and 100. - Weight pulumi.IntInput `pulumi:"weight"` +type VirtualNodeSpecBackendArgs struct { + // Specifies a virtual service to use as a backend for a virtual node. + VirtualService VirtualNodeSpecBackendVirtualServiceInput `pulumi:"virtualService"` } -func (RouteSpecHttpRouteActionWeightedTargetArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteActionWeightedTarget)(nil)).Elem() +func (VirtualNodeSpecBackendArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackend)(nil)).Elem() } -func (i RouteSpecHttpRouteActionWeightedTargetArgs) ToRouteSpecHttpRouteActionWeightedTargetOutput() RouteSpecHttpRouteActionWeightedTargetOutput { - return i.ToRouteSpecHttpRouteActionWeightedTargetOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendArgs) ToVirtualNodeSpecBackendOutput() VirtualNodeSpecBackendOutput { + return i.ToVirtualNodeSpecBackendOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteActionWeightedTargetArgs) ToRouteSpecHttpRouteActionWeightedTargetOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionWeightedTargetOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteActionWeightedTargetOutput) +func (i VirtualNodeSpecBackendArgs) ToVirtualNodeSpecBackendOutputWithContext(ctx context.Context) VirtualNodeSpecBackendOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendOutput) } -// RouteSpecHttpRouteActionWeightedTargetArrayInput is an input type that accepts RouteSpecHttpRouteActionWeightedTargetArray and RouteSpecHttpRouteActionWeightedTargetArrayOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteActionWeightedTargetArrayInput` via: +// VirtualNodeSpecBackendArrayInput is an input type that accepts VirtualNodeSpecBackendArray and VirtualNodeSpecBackendArrayOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendArrayInput` via: // -// RouteSpecHttpRouteActionWeightedTargetArray{ RouteSpecHttpRouteActionWeightedTargetArgs{...} } -type RouteSpecHttpRouteActionWeightedTargetArrayInput interface { +// VirtualNodeSpecBackendArray{ VirtualNodeSpecBackendArgs{...} } +type VirtualNodeSpecBackendArrayInput interface { pulumi.Input - ToRouteSpecHttpRouteActionWeightedTargetArrayOutput() RouteSpecHttpRouteActionWeightedTargetArrayOutput - ToRouteSpecHttpRouteActionWeightedTargetArrayOutputWithContext(context.Context) RouteSpecHttpRouteActionWeightedTargetArrayOutput + ToVirtualNodeSpecBackendArrayOutput() VirtualNodeSpecBackendArrayOutput + ToVirtualNodeSpecBackendArrayOutputWithContext(context.Context) VirtualNodeSpecBackendArrayOutput } -type RouteSpecHttpRouteActionWeightedTargetArray []RouteSpecHttpRouteActionWeightedTargetInput +type VirtualNodeSpecBackendArray []VirtualNodeSpecBackendInput -func (RouteSpecHttpRouteActionWeightedTargetArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteSpecHttpRouteActionWeightedTarget)(nil)).Elem() +func (VirtualNodeSpecBackendArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]VirtualNodeSpecBackend)(nil)).Elem() } -func (i RouteSpecHttpRouteActionWeightedTargetArray) ToRouteSpecHttpRouteActionWeightedTargetArrayOutput() RouteSpecHttpRouteActionWeightedTargetArrayOutput { - return i.ToRouteSpecHttpRouteActionWeightedTargetArrayOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendArray) ToVirtualNodeSpecBackendArrayOutput() VirtualNodeSpecBackendArrayOutput { + return i.ToVirtualNodeSpecBackendArrayOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteActionWeightedTargetArray) ToRouteSpecHttpRouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionWeightedTargetArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteActionWeightedTargetArrayOutput) +func (i VirtualNodeSpecBackendArray) ToVirtualNodeSpecBackendArrayOutputWithContext(ctx context.Context) VirtualNodeSpecBackendArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendArrayOutput) } -type RouteSpecHttpRouteActionWeightedTargetOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRouteActionWeightedTargetOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteActionWeightedTarget)(nil)).Elem() +func (VirtualNodeSpecBackendOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackend)(nil)).Elem() } -func (o RouteSpecHttpRouteActionWeightedTargetOutput) ToRouteSpecHttpRouteActionWeightedTargetOutput() RouteSpecHttpRouteActionWeightedTargetOutput { +func (o VirtualNodeSpecBackendOutput) ToVirtualNodeSpecBackendOutput() VirtualNodeSpecBackendOutput { return o } -func (o RouteSpecHttpRouteActionWeightedTargetOutput) ToRouteSpecHttpRouteActionWeightedTargetOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionWeightedTargetOutput { +func (o VirtualNodeSpecBackendOutput) ToVirtualNodeSpecBackendOutputWithContext(ctx context.Context) VirtualNodeSpecBackendOutput { return o } -// The virtual node to associate with the weighted target. -func (o RouteSpecHttpRouteActionWeightedTargetOutput) VirtualNode() pulumi.StringOutput { - return o.ApplyT(func(v RouteSpecHttpRouteActionWeightedTarget) string { return v.VirtualNode }).(pulumi.StringOutput) -} - -// The 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) +// Specifies a 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) } -type RouteSpecHttpRouteActionWeightedTargetArrayOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendArrayOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRouteActionWeightedTargetArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteSpecHttpRouteActionWeightedTarget)(nil)).Elem() +func (VirtualNodeSpecBackendArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]VirtualNodeSpecBackend)(nil)).Elem() } -func (o RouteSpecHttpRouteActionWeightedTargetArrayOutput) ToRouteSpecHttpRouteActionWeightedTargetArrayOutput() RouteSpecHttpRouteActionWeightedTargetArrayOutput { +func (o VirtualNodeSpecBackendArrayOutput) ToVirtualNodeSpecBackendArrayOutput() VirtualNodeSpecBackendArrayOutput { return o } -func (o RouteSpecHttpRouteActionWeightedTargetArrayOutput) ToRouteSpecHttpRouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionWeightedTargetArrayOutput { +func (o VirtualNodeSpecBackendArrayOutput) ToVirtualNodeSpecBackendArrayOutputWithContext(ctx context.Context) VirtualNodeSpecBackendArrayOutput { 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 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 RouteSpecHttpRouteMatch struct { - // The client request headers to match on. - Headers []RouteSpecHttpRouteMatchHeader `pulumi:"headers"` - // The client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. - Method *string `pulumi:"method"` - // The value sent by the client must begin with the specified characters. - // This parameter must always start with /, which by itself matches all requests to the virtual router service name. - Prefix string `pulumi:"prefix"` - // The client request header scheme to match on. Valid values: `http`, `https`. - Scheme *string `pulumi:"scheme"` +type VirtualNodeSpecBackendDefaults struct { + // The default client policy for virtual service backends. See above for details. + ClientPolicy *VirtualNodeSpecBackendDefaultsClientPolicy `pulumi:"clientPolicy"` } -// RouteSpecHttpRouteMatchInput is an input type that accepts RouteSpecHttpRouteMatchArgs and RouteSpecHttpRouteMatchOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteMatchInput` via: +// VirtualNodeSpecBackendDefaultsInput is an input type that accepts VirtualNodeSpecBackendDefaultsArgs and VirtualNodeSpecBackendDefaultsOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsInput` via: // -// RouteSpecHttpRouteMatchArgs{...} -type RouteSpecHttpRouteMatchInput interface { +// VirtualNodeSpecBackendDefaultsArgs{...} +type VirtualNodeSpecBackendDefaultsInput interface { pulumi.Input - ToRouteSpecHttpRouteMatchOutput() RouteSpecHttpRouteMatchOutput - ToRouteSpecHttpRouteMatchOutputWithContext(context.Context) RouteSpecHttpRouteMatchOutput + ToVirtualNodeSpecBackendDefaultsOutput() VirtualNodeSpecBackendDefaultsOutput + ToVirtualNodeSpecBackendDefaultsOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsOutput } -type RouteSpecHttpRouteMatchArgs struct { - // The client request headers to match on. - Headers RouteSpecHttpRouteMatchHeaderArrayInput `pulumi:"headers"` - // The client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. - Method pulumi.StringPtrInput `pulumi:"method"` - // The value sent by the client must begin with the specified characters. - // This parameter must always start with /, which by itself matches all requests to the virtual router service name. - Prefix pulumi.StringInput `pulumi:"prefix"` - // The client request header scheme to match on. Valid values: `http`, `https`. - Scheme pulumi.StringPtrInput `pulumi:"scheme"` +type VirtualNodeSpecBackendDefaultsArgs struct { + // The default client policy for virtual service backends. See above for details. + ClientPolicy VirtualNodeSpecBackendDefaultsClientPolicyPtrInput `pulumi:"clientPolicy"` } -func (RouteSpecHttpRouteMatchArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteMatch)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaults)(nil)).Elem() } -func (i RouteSpecHttpRouteMatchArgs) ToRouteSpecHttpRouteMatchOutput() RouteSpecHttpRouteMatchOutput { - return i.ToRouteSpecHttpRouteMatchOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsArgs) ToVirtualNodeSpecBackendDefaultsOutput() VirtualNodeSpecBackendDefaultsOutput { + return i.ToVirtualNodeSpecBackendDefaultsOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteMatchArgs) ToRouteSpecHttpRouteMatchOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchOutput) +func (i VirtualNodeSpecBackendDefaultsArgs) ToVirtualNodeSpecBackendDefaultsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsOutput) } -func (i RouteSpecHttpRouteMatchArgs) ToRouteSpecHttpRouteMatchPtrOutput() RouteSpecHttpRouteMatchPtrOutput { - return i.ToRouteSpecHttpRouteMatchPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsArgs) ToVirtualNodeSpecBackendDefaultsPtrOutput() VirtualNodeSpecBackendDefaultsPtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteMatchArgs) ToRouteSpecHttpRouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchOutput).ToRouteSpecHttpRouteMatchPtrOutputWithContext(ctx) +func (i VirtualNodeSpecBackendDefaultsArgs) ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsOutput).ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(ctx) } -// RouteSpecHttpRouteMatchPtrInput is an input type that accepts RouteSpecHttpRouteMatchArgs, RouteSpecHttpRouteMatchPtr and RouteSpecHttpRouteMatchPtrOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteMatchPtrInput` via: +// VirtualNodeSpecBackendDefaultsPtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsArgs, VirtualNodeSpecBackendDefaultsPtr and VirtualNodeSpecBackendDefaultsPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsPtrInput` via: // -// RouteSpecHttpRouteMatchArgs{...} +// VirtualNodeSpecBackendDefaultsArgs{...} // // or: // // nil -type RouteSpecHttpRouteMatchPtrInput interface { +type VirtualNodeSpecBackendDefaultsPtrInput interface { pulumi.Input - ToRouteSpecHttpRouteMatchPtrOutput() RouteSpecHttpRouteMatchPtrOutput - ToRouteSpecHttpRouteMatchPtrOutputWithContext(context.Context) RouteSpecHttpRouteMatchPtrOutput + ToVirtualNodeSpecBackendDefaultsPtrOutput() VirtualNodeSpecBackendDefaultsPtrOutput + ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsPtrOutput } -type routeSpecHttpRouteMatchPtrType RouteSpecHttpRouteMatchArgs +type virtualNodeSpecBackendDefaultsPtrType VirtualNodeSpecBackendDefaultsArgs -func RouteSpecHttpRouteMatchPtr(v *RouteSpecHttpRouteMatchArgs) RouteSpecHttpRouteMatchPtrInput { - return (*routeSpecHttpRouteMatchPtrType)(v) +func VirtualNodeSpecBackendDefaultsPtr(v *VirtualNodeSpecBackendDefaultsArgs) VirtualNodeSpecBackendDefaultsPtrInput { + return (*virtualNodeSpecBackendDefaultsPtrType)(v) } -func (*routeSpecHttpRouteMatchPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRouteMatch)(nil)).Elem() +func (*virtualNodeSpecBackendDefaultsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaults)(nil)).Elem() } -func (i *routeSpecHttpRouteMatchPtrType) ToRouteSpecHttpRouteMatchPtrOutput() RouteSpecHttpRouteMatchPtrOutput { - return i.ToRouteSpecHttpRouteMatchPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecBackendDefaultsPtrType) ToVirtualNodeSpecBackendDefaultsPtrOutput() VirtualNodeSpecBackendDefaultsPtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(context.Background()) } -func (i *routeSpecHttpRouteMatchPtrType) ToRouteSpecHttpRouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchPtrOutput) +func (i *virtualNodeSpecBackendDefaultsPtrType) ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsPtrOutput) } -type RouteSpecHttpRouteMatchOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRouteMatchOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteMatch)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaults)(nil)).Elem() } -func (o RouteSpecHttpRouteMatchOutput) ToRouteSpecHttpRouteMatchOutput() RouteSpecHttpRouteMatchOutput { +func (o VirtualNodeSpecBackendDefaultsOutput) ToVirtualNodeSpecBackendDefaultsOutput() VirtualNodeSpecBackendDefaultsOutput { return o } -func (o RouteSpecHttpRouteMatchOutput) ToRouteSpecHttpRouteMatchOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchOutput { +func (o VirtualNodeSpecBackendDefaultsOutput) ToVirtualNodeSpecBackendDefaultsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsOutput { return o } -func (o RouteSpecHttpRouteMatchOutput) ToRouteSpecHttpRouteMatchPtrOutput() RouteSpecHttpRouteMatchPtrOutput { - return o.ToRouteSpecHttpRouteMatchPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecBackendDefaultsOutput) ToVirtualNodeSpecBackendDefaultsPtrOutput() VirtualNodeSpecBackendDefaultsPtrOutput { + return o.ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(context.Background()) } -func (o RouteSpecHttpRouteMatchOutput) ToRouteSpecHttpRouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchPtrOutput { - return o.ApplyT(func(v RouteSpecHttpRouteMatch) *RouteSpecHttpRouteMatch { +func (o VirtualNodeSpecBackendDefaultsOutput) ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaults) *VirtualNodeSpecBackendDefaults { return &v - }).(RouteSpecHttpRouteMatchPtrOutput) -} - -// The client request headers to match on. -func (o RouteSpecHttpRouteMatchOutput) Headers() RouteSpecHttpRouteMatchHeaderArrayOutput { - return o.ApplyT(func(v RouteSpecHttpRouteMatch) []RouteSpecHttpRouteMatchHeader { return v.Headers }).(RouteSpecHttpRouteMatchHeaderArrayOutput) -} - -// The 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) -} - -// The value sent by the client must begin with the specified characters. -// 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) + }).(VirtualNodeSpecBackendDefaultsPtrOutput) } -// The 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) +// The 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 RouteSpecHttpRouteMatchPtrOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsPtrOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRouteMatchPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRouteMatch)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaults)(nil)).Elem() } -func (o RouteSpecHttpRouteMatchPtrOutput) ToRouteSpecHttpRouteMatchPtrOutput() RouteSpecHttpRouteMatchPtrOutput { +func (o VirtualNodeSpecBackendDefaultsPtrOutput) ToVirtualNodeSpecBackendDefaultsPtrOutput() VirtualNodeSpecBackendDefaultsPtrOutput { return o } -func (o RouteSpecHttpRouteMatchPtrOutput) ToRouteSpecHttpRouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchPtrOutput { +func (o VirtualNodeSpecBackendDefaultsPtrOutput) ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsPtrOutput { return o } -func (o RouteSpecHttpRouteMatchPtrOutput) Elem() RouteSpecHttpRouteMatchOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteMatch) RouteSpecHttpRouteMatch { return *v }).(RouteSpecHttpRouteMatchOutput) +func (o VirtualNodeSpecBackendDefaultsPtrOutput) Elem() VirtualNodeSpecBackendDefaultsOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaults) VirtualNodeSpecBackendDefaults { return *v }).(VirtualNodeSpecBackendDefaultsOutput) } -// The client request headers to match on. -func (o RouteSpecHttpRouteMatchPtrOutput) Headers() RouteSpecHttpRouteMatchHeaderArrayOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteMatch) []RouteSpecHttpRouteMatchHeader { +// The 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.Headers - }).(RouteSpecHttpRouteMatchHeaderArrayOutput) + return v.ClientPolicy + }).(VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput) } -// The 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.Method - }).(pulumi.StringPtrOutput) +type VirtualNodeSpecBackendDefaultsClientPolicy struct { + // The Transport Layer Security (TLS) client policy. + Tls *VirtualNodeSpecBackendDefaultsClientPolicyTls `pulumi:"tls"` } -// The value sent by the client must begin with the specified characters. -// 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) -} +// VirtualNodeSpecBackendDefaultsClientPolicyInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyArgs and VirtualNodeSpecBackendDefaultsClientPolicyOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyInput` via: +// +// VirtualNodeSpecBackendDefaultsClientPolicyArgs{...} +type VirtualNodeSpecBackendDefaultsClientPolicyInput interface { + pulumi.Input -// The 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) + ToVirtualNodeSpecBackendDefaultsClientPolicyOutput() VirtualNodeSpecBackendDefaultsClientPolicyOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyOutput } -type RouteSpecHttpRouteMatchHeader struct { - // If `true`, the match is on the opposite of the `match` method and value. Default is `false`. - Invert *bool `pulumi:"invert"` - // The method and value to match the header value sent with a request. Specify one match method. - Match *RouteSpecHttpRouteMatchHeaderMatch `pulumi:"match"` - // A name for the HTTP header in the client request that will be matched on. - Name string `pulumi:"name"` +type VirtualNodeSpecBackendDefaultsClientPolicyArgs struct { + // The Transport Layer Security (TLS) client policy. + Tls VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrInput `pulumi:"tls"` } -// RouteSpecHttpRouteMatchHeaderInput is an input type that accepts RouteSpecHttpRouteMatchHeaderArgs and RouteSpecHttpRouteMatchHeaderOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteMatchHeaderInput` via: -// -// RouteSpecHttpRouteMatchHeaderArgs{...} -type RouteSpecHttpRouteMatchHeaderInput interface { - pulumi.Input - - ToRouteSpecHttpRouteMatchHeaderOutput() RouteSpecHttpRouteMatchHeaderOutput - ToRouteSpecHttpRouteMatchHeaderOutputWithContext(context.Context) RouteSpecHttpRouteMatchHeaderOutput +func (VirtualNodeSpecBackendDefaultsClientPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicy)(nil)).Elem() } -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"` - // The method and value to match the header value sent with a request. Specify one match method. - Match RouteSpecHttpRouteMatchHeaderMatchPtrInput `pulumi:"match"` - // A name for the HTTP header in the client request that will be matched on. - Name pulumi.StringInput `pulumi:"name"` +func (i VirtualNodeSpecBackendDefaultsClientPolicyArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyOutput() VirtualNodeSpecBackendDefaultsClientPolicyOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyOutputWithContext(context.Background()) } -func (RouteSpecHttpRouteMatchHeaderArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteMatchHeader)(nil)).Elem() +func (i VirtualNodeSpecBackendDefaultsClientPolicyArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyOutput) } -func (i RouteSpecHttpRouteMatchHeaderArgs) ToRouteSpecHttpRouteMatchHeaderOutput() RouteSpecHttpRouteMatchHeaderOutput { - return i.ToRouteSpecHttpRouteMatchHeaderOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteMatchHeaderArgs) ToRouteSpecHttpRouteMatchHeaderOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchHeaderOutput) +func (i VirtualNodeSpecBackendDefaultsClientPolicyArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(ctx) } -// RouteSpecHttpRouteMatchHeaderArrayInput is an input type that accepts RouteSpecHttpRouteMatchHeaderArray and RouteSpecHttpRouteMatchHeaderArrayOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteMatchHeaderArrayInput` via: +// VirtualNodeSpecBackendDefaultsClientPolicyPtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyArgs, VirtualNodeSpecBackendDefaultsClientPolicyPtr and VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyPtrInput` via: // -// RouteSpecHttpRouteMatchHeaderArray{ RouteSpecHttpRouteMatchHeaderArgs{...} } -type RouteSpecHttpRouteMatchHeaderArrayInput interface { +// VirtualNodeSpecBackendDefaultsClientPolicyArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecBackendDefaultsClientPolicyPtrInput interface { pulumi.Input - ToRouteSpecHttpRouteMatchHeaderArrayOutput() RouteSpecHttpRouteMatchHeaderArrayOutput - ToRouteSpecHttpRouteMatchHeaderArrayOutputWithContext(context.Context) RouteSpecHttpRouteMatchHeaderArrayOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput } -type RouteSpecHttpRouteMatchHeaderArray []RouteSpecHttpRouteMatchHeaderInput +type virtualNodeSpecBackendDefaultsClientPolicyPtrType VirtualNodeSpecBackendDefaultsClientPolicyArgs -func (RouteSpecHttpRouteMatchHeaderArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteSpecHttpRouteMatchHeader)(nil)).Elem() +func VirtualNodeSpecBackendDefaultsClientPolicyPtr(v *VirtualNodeSpecBackendDefaultsClientPolicyArgs) VirtualNodeSpecBackendDefaultsClientPolicyPtrInput { + return (*virtualNodeSpecBackendDefaultsClientPolicyPtrType)(v) } -func (i RouteSpecHttpRouteMatchHeaderArray) ToRouteSpecHttpRouteMatchHeaderArrayOutput() RouteSpecHttpRouteMatchHeaderArrayOutput { - return i.ToRouteSpecHttpRouteMatchHeaderArrayOutputWithContext(context.Background()) +func (*virtualNodeSpecBackendDefaultsClientPolicyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicy)(nil)).Elem() } -func (i RouteSpecHttpRouteMatchHeaderArray) ToRouteSpecHttpRouteMatchHeaderArrayOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchHeaderArrayOutput) +func (i *virtualNodeSpecBackendDefaultsClientPolicyPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(context.Background()) } -type RouteSpecHttpRouteMatchHeaderOutput struct{ *pulumi.OutputState } +func (i *virtualNodeSpecBackendDefaultsClientPolicyPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput) +} -func (RouteSpecHttpRouteMatchHeaderOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteMatchHeader)(nil)).Elem() +type VirtualNodeSpecBackendDefaultsClientPolicyOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecBackendDefaultsClientPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicy)(nil)).Elem() } -func (o RouteSpecHttpRouteMatchHeaderOutput) ToRouteSpecHttpRouteMatchHeaderOutput() RouteSpecHttpRouteMatchHeaderOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyOutput() VirtualNodeSpecBackendDefaultsClientPolicyOutput { return o } -func (o RouteSpecHttpRouteMatchHeaderOutput) ToRouteSpecHttpRouteMatchHeaderOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyOutput { 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 VirtualNodeSpecBackendDefaultsClientPolicyOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { + return o.ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(context.Background()) } -// The 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 VirtualNodeSpecBackendDefaultsClientPolicyOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicy) *VirtualNodeSpecBackendDefaultsClientPolicy { + return &v + }).(VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput) } -// A 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) +// The Transport Layer Security (TLS) client policy. +func (o VirtualNodeSpecBackendDefaultsClientPolicyOutput) Tls() VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicy) *VirtualNodeSpecBackendDefaultsClientPolicyTls { + return v.Tls + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) } -type RouteSpecHttpRouteMatchHeaderArrayOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRouteMatchHeaderArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteSpecHttpRouteMatchHeader)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicy)(nil)).Elem() } -func (o RouteSpecHttpRouteMatchHeaderArrayOutput) ToRouteSpecHttpRouteMatchHeaderArrayOutput() RouteSpecHttpRouteMatchHeaderArrayOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { return o } -func (o RouteSpecHttpRouteMatchHeaderArrayOutput) ToRouteSpecHttpRouteMatchHeaderArrayOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderArrayOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { 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 VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicy) VirtualNodeSpecBackendDefaultsClientPolicy { + return *v + }).(VirtualNodeSpecBackendDefaultsClientPolicyOutput) } -type RouteSpecHttpRouteMatchHeaderMatch struct { - // The value sent by the client must match the specified value exactly. - Exact *string `pulumi:"exact"` - // The value sent by the client must begin with the specified characters. - // This parameter must always start with /, which by itself matches all requests to the virtual router service name. - Prefix *string `pulumi:"prefix"` - // The object that specifies the range of numbers that the value sent by the client must be included in. - Range *RouteSpecHttpRouteMatchHeaderMatchRange `pulumi:"range"` - // The value sent by the client must include the specified characters. - Regex *string `pulumi:"regex"` - // The value sent by the client must end with the specified characters. - Suffix *string `pulumi:"suffix"` +// The 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.Tls + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) } -// RouteSpecHttpRouteMatchHeaderMatchInput is an input type that accepts RouteSpecHttpRouteMatchHeaderMatchArgs and RouteSpecHttpRouteMatchHeaderMatchOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteMatchHeaderMatchInput` via: +type VirtualNodeSpecBackendDefaultsClientPolicyTls struct { + Enforce *bool `pulumi:"enforce"` + // One or more ports that the policy is enforced for. + Ports []int `pulumi:"ports"` + // The 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: // -// RouteSpecHttpRouteMatchHeaderMatchArgs{...} -type RouteSpecHttpRouteMatchHeaderMatchInput interface { +// VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs{...} +type VirtualNodeSpecBackendDefaultsClientPolicyTlsInput interface { pulumi.Input - ToRouteSpecHttpRouteMatchHeaderMatchOutput() RouteSpecHttpRouteMatchHeaderMatchOutput - ToRouteSpecHttpRouteMatchHeaderMatchOutputWithContext(context.Context) RouteSpecHttpRouteMatchHeaderMatchOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput } -type RouteSpecHttpRouteMatchHeaderMatchArgs struct { - // The value sent by the client must match the specified value exactly. - Exact pulumi.StringPtrInput `pulumi:"exact"` - // The value sent by the client must begin with the specified characters. - // This parameter must always start with /, which by itself matches all requests to the virtual router service name. - Prefix pulumi.StringPtrInput `pulumi:"prefix"` - // The object that specifies the range of numbers that the value sent by the client must be included in. - Range RouteSpecHttpRouteMatchHeaderMatchRangePtrInput `pulumi:"range"` - // The value sent by the client must include the specified characters. - Regex pulumi.StringPtrInput `pulumi:"regex"` - // The value sent by the client must end with the specified characters. - Suffix pulumi.StringPtrInput `pulumi:"suffix"` +type VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs struct { + Enforce pulumi.BoolPtrInput `pulumi:"enforce"` + // One or more ports that the policy is enforced for. + Ports pulumi.IntArrayInput `pulumi:"ports"` + // The TLS validation context. + Validation VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationInput `pulumi:"validation"` } -func (RouteSpecHttpRouteMatchHeaderMatchArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteMatchHeaderMatch)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTls)(nil)).Elem() } -func (i RouteSpecHttpRouteMatchHeaderMatchArgs) ToRouteSpecHttpRouteMatchHeaderMatchOutput() RouteSpecHttpRouteMatchHeaderMatchOutput { - return i.ToRouteSpecHttpRouteMatchHeaderMatchOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteMatchHeaderMatchArgs) ToRouteSpecHttpRouteMatchHeaderMatchOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchHeaderMatchOutput) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) } -func (i RouteSpecHttpRouteMatchHeaderMatchArgs) ToRouteSpecHttpRouteMatchHeaderMatchPtrOutput() RouteSpecHttpRouteMatchHeaderMatchPtrOutput { - return i.ToRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteMatchHeaderMatchArgs) ToRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchHeaderMatchOutput).ToRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(ctx) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(ctx) } -// RouteSpecHttpRouteMatchHeaderMatchPtrInput is an input type that accepts RouteSpecHttpRouteMatchHeaderMatchArgs, RouteSpecHttpRouteMatchHeaderMatchPtr and RouteSpecHttpRouteMatchHeaderMatchPtrOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteMatchHeaderMatchPtrInput` via: +// VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs, VirtualNodeSpecBackendDefaultsClientPolicyTlsPtr and VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrInput` via: // -// RouteSpecHttpRouteMatchHeaderMatchArgs{...} +// VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs{...} // // or: // // nil -type RouteSpecHttpRouteMatchHeaderMatchPtrInput interface { +type VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrInput interface { pulumi.Input - ToRouteSpecHttpRouteMatchHeaderMatchPtrOutput() RouteSpecHttpRouteMatchHeaderMatchPtrOutput - ToRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(context.Context) RouteSpecHttpRouteMatchHeaderMatchPtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput } -type routeSpecHttpRouteMatchHeaderMatchPtrType RouteSpecHttpRouteMatchHeaderMatchArgs +type virtualNodeSpecBackendDefaultsClientPolicyTlsPtrType VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs -func RouteSpecHttpRouteMatchHeaderMatchPtr(v *RouteSpecHttpRouteMatchHeaderMatchArgs) RouteSpecHttpRouteMatchHeaderMatchPtrInput { - return (*routeSpecHttpRouteMatchHeaderMatchPtrType)(v) +func VirtualNodeSpecBackendDefaultsClientPolicyTlsPtr(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs) VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrInput { + return (*virtualNodeSpecBackendDefaultsClientPolicyTlsPtrType)(v) } -func (*routeSpecHttpRouteMatchHeaderMatchPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRouteMatchHeaderMatch)(nil)).Elem() +func (*virtualNodeSpecBackendDefaultsClientPolicyTlsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTls)(nil)).Elem() } -func (i *routeSpecHttpRouteMatchHeaderMatchPtrType) ToRouteSpecHttpRouteMatchHeaderMatchPtrOutput() RouteSpecHttpRouteMatchHeaderMatchPtrOutput { - return i.ToRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(context.Background()) } -func (i *routeSpecHttpRouteMatchHeaderMatchPtrType) ToRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchHeaderMatchPtrOutput) +func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) } -type RouteSpecHttpRouteMatchHeaderMatchOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRouteMatchHeaderMatchOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteMatchHeaderMatch)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTls)(nil)).Elem() } -func (o RouteSpecHttpRouteMatchHeaderMatchOutput) ToRouteSpecHttpRouteMatchHeaderMatchOutput() RouteSpecHttpRouteMatchHeaderMatchOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput { return o } -func (o RouteSpecHttpRouteMatchHeaderMatchOutput) ToRouteSpecHttpRouteMatchHeaderMatchOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput { return o } -func (o RouteSpecHttpRouteMatchHeaderMatchOutput) ToRouteSpecHttpRouteMatchHeaderMatchPtrOutput() RouteSpecHttpRouteMatchHeaderMatchPtrOutput { - return o.ToRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { + return o.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(context.Background()) } -func (o RouteSpecHttpRouteMatchHeaderMatchOutput) ToRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchPtrOutput { - return o.ApplyT(func(v RouteSpecHttpRouteMatchHeaderMatch) *RouteSpecHttpRouteMatchHeaderMatch { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTls) *VirtualNodeSpecBackendDefaultsClientPolicyTls { return &v - }).(RouteSpecHttpRouteMatchHeaderMatchPtrOutput) -} - -// The value sent by the client must match the specified value exactly. -func (o RouteSpecHttpRouteMatchHeaderMatchOutput) Exact() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteSpecHttpRouteMatchHeaderMatch) *string { return v.Exact }).(pulumi.StringPtrOutput) -} - -// The value sent by the client must begin with the specified characters. -// 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) -} - -// The 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) -} - -// The value sent by the client must include the specified characters. -func (o RouteSpecHttpRouteMatchHeaderMatchOutput) Regex() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteSpecHttpRouteMatchHeaderMatch) *string { return v.Regex }).(pulumi.StringPtrOutput) -} - -// The value sent by the client must end with the specified characters. -func (o RouteSpecHttpRouteMatchHeaderMatchOutput) Suffix() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteSpecHttpRouteMatchHeaderMatch) *string { return v.Suffix }).(pulumi.StringPtrOutput) + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) } - -type RouteSpecHttpRouteMatchHeaderMatchPtrOutput struct{ *pulumi.OutputState } - -func (RouteSpecHttpRouteMatchHeaderMatchPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRouteMatchHeaderMatch)(nil)).Elem() +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) Enforce() pulumi.BoolPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTls) *bool { return v.Enforce }).(pulumi.BoolPtrOutput) } -func (o RouteSpecHttpRouteMatchHeaderMatchPtrOutput) ToRouteSpecHttpRouteMatchHeaderMatchPtrOutput() RouteSpecHttpRouteMatchHeaderMatchPtrOutput { - return o +// 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 RouteSpecHttpRouteMatchHeaderMatchPtrOutput) ToRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchPtrOutput { - return o +// The TLS validation context. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) Validation() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTls) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation { + return v.Validation + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) } -func (o RouteSpecHttpRouteMatchHeaderMatchPtrOutput) Elem() RouteSpecHttpRouteMatchHeaderMatchOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteMatchHeaderMatch) RouteSpecHttpRouteMatchHeaderMatch { return *v }).(RouteSpecHttpRouteMatchHeaderMatchOutput) -} +type VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput struct{ *pulumi.OutputState } -// The value sent by the client must match the specified value exactly. -func (o RouteSpecHttpRouteMatchHeaderMatchPtrOutput) Exact() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteMatchHeaderMatch) *string { - if v == nil { - return nil - } - return v.Exact - }).(pulumi.StringPtrOutput) +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTls)(nil)).Elem() } -// The value sent by the client must begin with the specified characters. -// 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.Prefix - }).(pulumi.StringPtrOutput) +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { + return o } -// The 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 { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { + return o +} + +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTls) VirtualNodeSpecBackendDefaultsClientPolicyTls { + return *v + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) +} + +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) Enforce() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTls) *bool { if v == nil { return nil } - return v.Range - }).(RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) + return v.Enforce + }).(pulumi.BoolPtrOutput) } -// The value sent by the client must include the specified characters. -func (o RouteSpecHttpRouteMatchHeaderMatchPtrOutput) Regex() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteMatchHeaderMatch) *string { +// 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.Regex - }).(pulumi.StringPtrOutput) + return v.Ports + }).(pulumi.IntArrayOutput) } -// The value sent by the client must end with the specified characters. -func (o RouteSpecHttpRouteMatchHeaderMatchPtrOutput) Suffix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteMatchHeaderMatch) *string { +// The TLS validation context. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) Validation() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTls) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation { if v == nil { return nil } - return v.Suffix - }).(pulumi.StringPtrOutput) + return &v.Validation + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) } -type RouteSpecHttpRouteMatchHeaderMatchRange struct { - // The end of the range. - End int `pulumi:"end"` - // The start of the range. - Start int `pulumi:"start"` +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation struct { + // The TLS validation context trust. + Trust VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust `pulumi:"trust"` } -// RouteSpecHttpRouteMatchHeaderMatchRangeInput is an input type that accepts RouteSpecHttpRouteMatchHeaderMatchRangeArgs and RouteSpecHttpRouteMatchHeaderMatchRangeOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteMatchHeaderMatchRangeInput` via: +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationInput` via: // -// RouteSpecHttpRouteMatchHeaderMatchRangeArgs{...} -type RouteSpecHttpRouteMatchHeaderMatchRangeInput interface { +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs{...} +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationInput interface { pulumi.Input - ToRouteSpecHttpRouteMatchHeaderMatchRangeOutput() RouteSpecHttpRouteMatchHeaderMatchRangeOutput - ToRouteSpecHttpRouteMatchHeaderMatchRangeOutputWithContext(context.Context) RouteSpecHttpRouteMatchHeaderMatchRangeOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput } -type RouteSpecHttpRouteMatchHeaderMatchRangeArgs struct { - // The end of the range. - End pulumi.IntInput `pulumi:"end"` - // The start of the range. - Start pulumi.IntInput `pulumi:"start"` +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs struct { + // The TLS validation context trust. + Trust VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustInput `pulumi:"trust"` } -func (RouteSpecHttpRouteMatchHeaderMatchRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteMatchHeaderMatchRange)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation)(nil)).Elem() } -func (i RouteSpecHttpRouteMatchHeaderMatchRangeArgs) ToRouteSpecHttpRouteMatchHeaderMatchRangeOutput() RouteSpecHttpRouteMatchHeaderMatchRangeOutput { - return i.ToRouteSpecHttpRouteMatchHeaderMatchRangeOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteMatchHeaderMatchRangeArgs) ToRouteSpecHttpRouteMatchHeaderMatchRangeOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchHeaderMatchRangeOutput) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) } -func (i RouteSpecHttpRouteMatchHeaderMatchRangeArgs) ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput() RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { - return i.ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteMatchHeaderMatchRangeArgs) ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchHeaderMatchRangeOutput).ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(ctx) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(ctx) } -// RouteSpecHttpRouteMatchHeaderMatchRangePtrInput is an input type that accepts RouteSpecHttpRouteMatchHeaderMatchRangeArgs, RouteSpecHttpRouteMatchHeaderMatchRangePtr and RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteMatchHeaderMatchRangePtrInput` via: +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs, VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtr and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrInput` via: // -// RouteSpecHttpRouteMatchHeaderMatchRangeArgs{...} +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs{...} // // or: // // nil -type RouteSpecHttpRouteMatchHeaderMatchRangePtrInput interface { +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrInput interface { pulumi.Input - ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput() RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput - ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(context.Context) RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput } -type routeSpecHttpRouteMatchHeaderMatchRangePtrType RouteSpecHttpRouteMatchHeaderMatchRangeArgs +type virtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrType VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs -func RouteSpecHttpRouteMatchHeaderMatchRangePtr(v *RouteSpecHttpRouteMatchHeaderMatchRangeArgs) RouteSpecHttpRouteMatchHeaderMatchRangePtrInput { - return (*routeSpecHttpRouteMatchHeaderMatchRangePtrType)(v) +func VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtr(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrInput { + return (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrType)(v) } -func (*routeSpecHttpRouteMatchHeaderMatchRangePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRouteMatchHeaderMatchRange)(nil)).Elem() +func (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation)(nil)).Elem() } -func (i *routeSpecHttpRouteMatchHeaderMatchRangePtrType) ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput() RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { - return i.ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(context.Background()) } -func (i *routeSpecHttpRouteMatchHeaderMatchRangePtrType) ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) +func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) } -type RouteSpecHttpRouteMatchHeaderMatchRangeOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRouteMatchHeaderMatchRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteMatchHeaderMatchRange)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation)(nil)).Elem() } -func (o RouteSpecHttpRouteMatchHeaderMatchRangeOutput) ToRouteSpecHttpRouteMatchHeaderMatchRangeOutput() RouteSpecHttpRouteMatchHeaderMatchRangeOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput { return o } -func (o RouteSpecHttpRouteMatchHeaderMatchRangeOutput) ToRouteSpecHttpRouteMatchHeaderMatchRangeOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchRangeOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput { return o } -func (o RouteSpecHttpRouteMatchHeaderMatchRangeOutput) ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput() RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { - return o.ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { + return o.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(context.Background()) } -func (o RouteSpecHttpRouteMatchHeaderMatchRangeOutput) ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { - return o.ApplyT(func(v RouteSpecHttpRouteMatchHeaderMatchRange) *RouteSpecHttpRouteMatchHeaderMatchRange { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation { return &v - }).(RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) -} - -// The end of the range. -func (o RouteSpecHttpRouteMatchHeaderMatchRangeOutput) End() pulumi.IntOutput { - return o.ApplyT(func(v RouteSpecHttpRouteMatchHeaderMatchRange) int { return v.End }).(pulumi.IntOutput) + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) } -// The start of the range. -func (o RouteSpecHttpRouteMatchHeaderMatchRangeOutput) Start() pulumi.IntOutput { - return o.ApplyT(func(v RouteSpecHttpRouteMatchHeaderMatchRange) int { return v.Start }).(pulumi.IntOutput) +// The TLS validation context trust. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) Trust() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust { + return v.Trust + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) } -type RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRouteMatchHeaderMatchRange)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation)(nil)).Elem() } -func (o RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput() RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { return o } -func (o RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { return o } -func (o RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) Elem() RouteSpecHttpRouteMatchHeaderMatchRangeOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteMatchHeaderMatchRange) RouteSpecHttpRouteMatchHeaderMatchRange { return *v }).(RouteSpecHttpRouteMatchHeaderMatchRangeOutput) -} - -// The end of the range. -func (o RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) End() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteMatchHeaderMatchRange) *int { - if v == nil { - return nil - } - return &v.End - }).(pulumi.IntPtrOutput) +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation { + return *v + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) } -// The start of the range. -func (o RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) Start() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteMatchHeaderMatchRange) *int { +// The TLS validation context trust. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) Trust() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust { if v == nil { return nil } - return &v.Start - }).(pulumi.IntPtrOutput) + return &v.Trust + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) } -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"` - // The maximum number of retries. - MaxRetries int `pulumi:"maxRetries"` - // The per-retry timeout. - PerRetryTimeout RouteSpecHttpRouteRetryPolicyPerRetryTimeout `pulumi:"perRetryTimeout"` - // List of TCP retry events. The only valid value is `connection-error`. - TcpRetryEvents []string `pulumi:"tcpRetryEvents"` +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust struct { + // The TLS validation context trust for an AWS Certificate Manager (ACM) certificate. + Acm *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm `pulumi:"acm"` + // The TLS validation context trust for a local file. + File *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile `pulumi:"file"` } -// RouteSpecHttpRouteRetryPolicyInput is an input type that accepts RouteSpecHttpRouteRetryPolicyArgs and RouteSpecHttpRouteRetryPolicyOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteRetryPolicyInput` via: +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustInput` via: // -// RouteSpecHttpRouteRetryPolicyArgs{...} -type RouteSpecHttpRouteRetryPolicyInput interface { +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs{...} +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustInput interface { pulumi.Input - ToRouteSpecHttpRouteRetryPolicyOutput() RouteSpecHttpRouteRetryPolicyOutput - ToRouteSpecHttpRouteRetryPolicyOutputWithContext(context.Context) RouteSpecHttpRouteRetryPolicyOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput } -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"` - // The maximum number of retries. - MaxRetries pulumi.IntInput `pulumi:"maxRetries"` - // The 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 VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs struct { + // The TLS validation context trust for an AWS Certificate Manager (ACM) certificate. + Acm VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrInput `pulumi:"acm"` + // The TLS validation context trust for a local file. + File VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrInput `pulumi:"file"` } -func (RouteSpecHttpRouteRetryPolicyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteRetryPolicy)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust)(nil)).Elem() } -func (i RouteSpecHttpRouteRetryPolicyArgs) ToRouteSpecHttpRouteRetryPolicyOutput() RouteSpecHttpRouteRetryPolicyOutput { - return i.ToRouteSpecHttpRouteRetryPolicyOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteRetryPolicyArgs) ToRouteSpecHttpRouteRetryPolicyOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteRetryPolicyOutput) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) } -func (i RouteSpecHttpRouteRetryPolicyArgs) ToRouteSpecHttpRouteRetryPolicyPtrOutput() RouteSpecHttpRouteRetryPolicyPtrOutput { - return i.ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteRetryPolicyArgs) ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteRetryPolicyOutput).ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(ctx) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(ctx) } -// RouteSpecHttpRouteRetryPolicyPtrInput is an input type that accepts RouteSpecHttpRouteRetryPolicyArgs, RouteSpecHttpRouteRetryPolicyPtr and RouteSpecHttpRouteRetryPolicyPtrOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteRetryPolicyPtrInput` via: +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs, VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtr and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrInput` via: // -// RouteSpecHttpRouteRetryPolicyArgs{...} +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs{...} // // or: // // nil -type RouteSpecHttpRouteRetryPolicyPtrInput interface { +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrInput interface { pulumi.Input - ToRouteSpecHttpRouteRetryPolicyPtrOutput() RouteSpecHttpRouteRetryPolicyPtrOutput - ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(context.Context) RouteSpecHttpRouteRetryPolicyPtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput } -type routeSpecHttpRouteRetryPolicyPtrType RouteSpecHttpRouteRetryPolicyArgs +type virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrType VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs -func RouteSpecHttpRouteRetryPolicyPtr(v *RouteSpecHttpRouteRetryPolicyArgs) RouteSpecHttpRouteRetryPolicyPtrInput { - return (*routeSpecHttpRouteRetryPolicyPtrType)(v) +func VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtr(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrInput { + return (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrType)(v) } -func (*routeSpecHttpRouteRetryPolicyPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRouteRetryPolicy)(nil)).Elem() +func (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust)(nil)).Elem() } -func (i *routeSpecHttpRouteRetryPolicyPtrType) ToRouteSpecHttpRouteRetryPolicyPtrOutput() RouteSpecHttpRouteRetryPolicyPtrOutput { - return i.ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(context.Background()) } -func (i *routeSpecHttpRouteRetryPolicyPtrType) ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteRetryPolicyPtrOutput) +func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) } -type RouteSpecHttpRouteRetryPolicyOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRouteRetryPolicyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteRetryPolicy)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust)(nil)).Elem() } -func (o RouteSpecHttpRouteRetryPolicyOutput) ToRouteSpecHttpRouteRetryPolicyOutput() RouteSpecHttpRouteRetryPolicyOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput { return o } -func (o RouteSpecHttpRouteRetryPolicyOutput) ToRouteSpecHttpRouteRetryPolicyOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput { return o } -func (o RouteSpecHttpRouteRetryPolicyOutput) ToRouteSpecHttpRouteRetryPolicyPtrOutput() RouteSpecHttpRouteRetryPolicyPtrOutput { - return o.ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { + return o.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(context.Background()) } -func (o RouteSpecHttpRouteRetryPolicyOutput) ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPtrOutput { - return o.ApplyT(func(v RouteSpecHttpRouteRetryPolicy) *RouteSpecHttpRouteRetryPolicy { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust { 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) -} - -// The maximum number of retries. -func (o RouteSpecHttpRouteRetryPolicyOutput) MaxRetries() pulumi.IntOutput { - return o.ApplyT(func(v RouteSpecHttpRouteRetryPolicy) int { return v.MaxRetries }).(pulumi.IntOutput) + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) } -// The per-retry timeout. -func (o RouteSpecHttpRouteRetryPolicyOutput) PerRetryTimeout() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { - return o.ApplyT(func(v RouteSpecHttpRouteRetryPolicy) RouteSpecHttpRouteRetryPolicyPerRetryTimeout { - return v.PerRetryTimeout - }).(RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) +// The 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) } -// 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) +// The TLS validation context trust for a local file. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) File() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile { + return v.File + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) } -type RouteSpecHttpRouteRetryPolicyPtrOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRouteRetryPolicyPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRouteRetryPolicy)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust)(nil)).Elem() } -func (o RouteSpecHttpRouteRetryPolicyPtrOutput) ToRouteSpecHttpRouteRetryPolicyPtrOutput() RouteSpecHttpRouteRetryPolicyPtrOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { return o } -func (o RouteSpecHttpRouteRetryPolicyPtrOutput) ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPtrOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { return o } -func (o RouteSpecHttpRouteRetryPolicyPtrOutput) Elem() RouteSpecHttpRouteRetryPolicyOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteRetryPolicy) RouteSpecHttpRouteRetryPolicy { return *v }).(RouteSpecHttpRouteRetryPolicyOutput) -} - -// 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.HttpRetryEvents - }).(pulumi.StringArrayOutput) -} - -// The maximum number of retries. -func (o RouteSpecHttpRouteRetryPolicyPtrOutput) MaxRetries() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteRetryPolicy) *int { - if v == nil { - return nil - } - return &v.MaxRetries - }).(pulumi.IntPtrOutput) +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust { + return *v + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) } -// The per-retry timeout. -func (o RouteSpecHttpRouteRetryPolicyPtrOutput) PerRetryTimeout() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteRetryPolicy) *RouteSpecHttpRouteRetryPolicyPerRetryTimeout { +// The 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.PerRetryTimeout - }).(RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput) + return v.Acm + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) } -// 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 { +// The TLS validation context trust for a local file. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) File() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile { if v == nil { return nil } - return v.TcpRetryEvents - }).(pulumi.StringArrayOutput) + return v.File + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) } -type RouteSpecHttpRouteRetryPolicyPerRetryTimeout struct { - // Retry unit. Valid values: `ms`, `s`. - Unit string `pulumi:"unit"` - // Retry value. - Value int `pulumi:"value"` +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm struct { + // One or more ACM Amazon Resource Name (ARN)s. + CertificateAuthorityArns []string `pulumi:"certificateAuthorityArns"` } -// RouteSpecHttpRouteRetryPolicyPerRetryTimeoutInput is an input type that accepts RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs and RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteRetryPolicyPerRetryTimeoutInput` via: +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmInput` via: // -// RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs{...} -type RouteSpecHttpRouteRetryPolicyPerRetryTimeoutInput interface { +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs{...} +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmInput interface { pulumi.Input - ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput - ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutputWithContext(context.Context) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput } -type RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs struct { - // Retry unit. Valid values: `ms`, `s`. - Unit pulumi.StringInput `pulumi:"unit"` - // Retry value. - Value pulumi.IntInput `pulumi:"value"` +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs struct { + // One or more ACM Amazon Resource Name (ARN)s. + CertificateAuthorityArns pulumi.StringArrayInput `pulumi:"certificateAuthorityArns"` } -func (RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteRetryPolicyPerRetryTimeout)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm)(nil)).Elem() } -func (i RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { - return i.ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) } -func (i RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { - return i.ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput).ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx) } -// RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrInput is an input type that accepts RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs, RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtr and RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrInput` via: +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs, VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtr and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrInput` via: // -// RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs{...} +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs{...} // // or: // // nil -type RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrInput interface { +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrInput interface { pulumi.Input - ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput - ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Context) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput } -type routeSpecHttpRouteRetryPolicyPerRetryTimeoutPtrType RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs +type virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrType VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs -func RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtr(v *RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrInput { - return (*routeSpecHttpRouteRetryPolicyPerRetryTimeoutPtrType)(v) +func VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtr(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrInput { + return (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrType)(v) } -func (*routeSpecHttpRouteRetryPolicyPerRetryTimeoutPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRouteRetryPolicyPerRetryTimeout)(nil)).Elem() +func (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm)(nil)).Elem() } -func (i *routeSpecHttpRouteRetryPolicyPerRetryTimeoutPtrType) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { - return i.ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Background()) } -func (i *routeSpecHttpRouteRetryPolicyPerRetryTimeoutPtrType) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput) +func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) } -type RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteRetryPolicyPerRetryTimeout)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm)(nil)).Elem() } -func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput { return o } -func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput { return o } -func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { - return o.ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { + return o.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Background()) } -func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { - return o.ApplyT(func(v RouteSpecHttpRouteRetryPolicyPerRetryTimeout) *RouteSpecHttpRouteRetryPolicyPerRetryTimeout { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm { return &v - }).(RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput) -} - -// Retry unit. Valid values: `ms`, `s`. -func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) Unit() pulumi.StringOutput { - return o.ApplyT(func(v RouteSpecHttpRouteRetryPolicyPerRetryTimeout) string { return v.Unit }).(pulumi.StringOutput) + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) } -// Retry value. -func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) Value() pulumi.IntOutput { - return o.ApplyT(func(v RouteSpecHttpRouteRetryPolicyPerRetryTimeout) int { return v.Value }).(pulumi.IntOutput) +// One or more ACM Amazon Resource Name (ARN)s. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) CertificateAuthorityArns() pulumi.StringArrayOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm) []string { + return v.CertificateAuthorityArns + }).(pulumi.StringArrayOutput) } -type RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRouteRetryPolicyPerRetryTimeout)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm)(nil)).Elem() } -func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { return o } -func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { return o } -func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput) Elem() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteRetryPolicyPerRetryTimeout) RouteSpecHttpRouteRetryPolicyPerRetryTimeout { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm { return *v - }).(RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) -} - -// 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.Unit - }).(pulumi.StringPtrOutput) + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) } -// Retry value. -func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput) Value() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteRetryPolicyPerRetryTimeout) *int { +// One or more ACM Amazon Resource Name (ARN)s. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) CertificateAuthorityArns() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm) []string { if v == nil { return nil } - return &v.Value - }).(pulumi.IntPtrOutput) + return v.CertificateAuthorityArns + }).(pulumi.StringArrayOutput) } -type RouteSpecTcpRoute struct { - // The action to take if a match is determined. - Action RouteSpecTcpRouteAction `pulumi:"action"` +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile struct { + // The certificate chain for the certificate. + CertificateChain string `pulumi:"certificateChain"` } -// RouteSpecTcpRouteInput is an input type that accepts RouteSpecTcpRouteArgs and RouteSpecTcpRouteOutput values. -// You can construct a concrete instance of `RouteSpecTcpRouteInput` via: +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileInput` via: // -// RouteSpecTcpRouteArgs{...} -type RouteSpecTcpRouteInput interface { +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs{...} +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileInput interface { pulumi.Input - ToRouteSpecTcpRouteOutput() RouteSpecTcpRouteOutput - ToRouteSpecTcpRouteOutputWithContext(context.Context) RouteSpecTcpRouteOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput } -type RouteSpecTcpRouteArgs struct { - // The action to take if a match is determined. - Action RouteSpecTcpRouteActionInput `pulumi:"action"` +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs struct { + // The certificate chain for the certificate. + CertificateChain pulumi.StringInput `pulumi:"certificateChain"` } -func (RouteSpecTcpRouteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecTcpRoute)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile)(nil)).Elem() } -func (i RouteSpecTcpRouteArgs) ToRouteSpecTcpRouteOutput() RouteSpecTcpRouteOutput { - return i.ToRouteSpecTcpRouteOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutputWithContext(context.Background()) } -func (i RouteSpecTcpRouteArgs) ToRouteSpecTcpRouteOutputWithContext(ctx context.Context) RouteSpecTcpRouteOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteOutput) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) } -func (i RouteSpecTcpRouteArgs) ToRouteSpecTcpRoutePtrOutput() RouteSpecTcpRoutePtrOutput { - return i.ToRouteSpecTcpRoutePtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Background()) } -func (i RouteSpecTcpRouteArgs) ToRouteSpecTcpRoutePtrOutputWithContext(ctx context.Context) RouteSpecTcpRoutePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteOutput).ToRouteSpecTcpRoutePtrOutputWithContext(ctx) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx) } -// RouteSpecTcpRoutePtrInput is an input type that accepts RouteSpecTcpRouteArgs, RouteSpecTcpRoutePtr and RouteSpecTcpRoutePtrOutput values. -// You can construct a concrete instance of `RouteSpecTcpRoutePtrInput` via: +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs, VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtr and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrInput` via: // -// RouteSpecTcpRouteArgs{...} +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs{...} // // or: // // nil -type RouteSpecTcpRoutePtrInput interface { +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrInput interface { pulumi.Input - ToRouteSpecTcpRoutePtrOutput() RouteSpecTcpRoutePtrOutput - ToRouteSpecTcpRoutePtrOutputWithContext(context.Context) RouteSpecTcpRoutePtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput } -type routeSpecTcpRoutePtrType RouteSpecTcpRouteArgs +type virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrType VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs -func RouteSpecTcpRoutePtr(v *RouteSpecTcpRouteArgs) RouteSpecTcpRoutePtrInput { - return (*routeSpecTcpRoutePtrType)(v) +func VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtr(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrInput { + return (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrType)(v) } -func (*routeSpecTcpRoutePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecTcpRoute)(nil)).Elem() +func (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile)(nil)).Elem() } -func (i *routeSpecTcpRoutePtrType) ToRouteSpecTcpRoutePtrOutput() RouteSpecTcpRoutePtrOutput { - return i.ToRouteSpecTcpRoutePtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Background()) } -func (i *routeSpecTcpRoutePtrType) ToRouteSpecTcpRoutePtrOutputWithContext(ctx context.Context) RouteSpecTcpRoutePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRoutePtrOutput) +func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) } -type RouteSpecTcpRouteOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput struct{ *pulumi.OutputState } -func (RouteSpecTcpRouteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecTcpRoute)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile)(nil)).Elem() } -func (o RouteSpecTcpRouteOutput) ToRouteSpecTcpRouteOutput() RouteSpecTcpRouteOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput { return o } -func (o RouteSpecTcpRouteOutput) ToRouteSpecTcpRouteOutputWithContext(ctx context.Context) RouteSpecTcpRouteOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput { return o } -func (o RouteSpecTcpRouteOutput) ToRouteSpecTcpRoutePtrOutput() RouteSpecTcpRoutePtrOutput { - return o.ToRouteSpecTcpRoutePtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { + return o.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Background()) } -func (o RouteSpecTcpRouteOutput) ToRouteSpecTcpRoutePtrOutputWithContext(ctx context.Context) RouteSpecTcpRoutePtrOutput { - return o.ApplyT(func(v RouteSpecTcpRoute) *RouteSpecTcpRoute { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile { return &v - }).(RouteSpecTcpRoutePtrOutput) + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) } -// The 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 certificate chain for the certificate. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) CertificateChain() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile) string { + return v.CertificateChain + }).(pulumi.StringOutput) } -type RouteSpecTcpRoutePtrOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput struct{ *pulumi.OutputState } -func (RouteSpecTcpRoutePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecTcpRoute)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile)(nil)).Elem() } -func (o RouteSpecTcpRoutePtrOutput) ToRouteSpecTcpRoutePtrOutput() RouteSpecTcpRoutePtrOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { return o } -func (o RouteSpecTcpRoutePtrOutput) ToRouteSpecTcpRoutePtrOutputWithContext(ctx context.Context) RouteSpecTcpRoutePtrOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { return o } -func (o RouteSpecTcpRoutePtrOutput) Elem() RouteSpecTcpRouteOutput { - return o.ApplyT(func(v *RouteSpecTcpRoute) RouteSpecTcpRoute { return *v }).(RouteSpecTcpRouteOutput) +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile { + return *v + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) } -// The action to take if a match is determined. -func (o RouteSpecTcpRoutePtrOutput) Action() RouteSpecTcpRouteActionPtrOutput { - return o.ApplyT(func(v *RouteSpecTcpRoute) *RouteSpecTcpRouteAction { +// The certificate chain for the certificate. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) CertificateChain() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile) *string { if v == nil { return nil } - return &v.Action - }).(RouteSpecTcpRouteActionPtrOutput) + return &v.CertificateChain + }).(pulumi.StringPtrOutput) } -type RouteSpecTcpRouteAction struct { - // The 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"` +type VirtualNodeSpecBackendVirtualService struct { + // The client policy for the backend. + ClientPolicy *VirtualNodeSpecBackendVirtualServiceClientPolicy `pulumi:"clientPolicy"` + // The name of the virtual service that is acting as a virtual node backend. + VirtualServiceName string `pulumi:"virtualServiceName"` } -// RouteSpecTcpRouteActionInput is an input type that accepts RouteSpecTcpRouteActionArgs and RouteSpecTcpRouteActionOutput values. -// You can construct a concrete instance of `RouteSpecTcpRouteActionInput` via: +// VirtualNodeSpecBackendVirtualServiceInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceArgs and VirtualNodeSpecBackendVirtualServiceOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceInput` via: // -// RouteSpecTcpRouteActionArgs{...} -type RouteSpecTcpRouteActionInput interface { +// VirtualNodeSpecBackendVirtualServiceArgs{...} +type VirtualNodeSpecBackendVirtualServiceInput interface { pulumi.Input - ToRouteSpecTcpRouteActionOutput() RouteSpecTcpRouteActionOutput - ToRouteSpecTcpRouteActionOutputWithContext(context.Context) RouteSpecTcpRouteActionOutput + ToVirtualNodeSpecBackendVirtualServiceOutput() VirtualNodeSpecBackendVirtualServiceOutput + ToVirtualNodeSpecBackendVirtualServiceOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceOutput } -type RouteSpecTcpRouteActionArgs struct { - // The 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 VirtualNodeSpecBackendVirtualServiceArgs struct { + // The client policy for the backend. + ClientPolicy VirtualNodeSpecBackendVirtualServiceClientPolicyPtrInput `pulumi:"clientPolicy"` + // The name of the virtual service that is acting as a virtual node backend. + VirtualServiceName pulumi.StringInput `pulumi:"virtualServiceName"` } -func (RouteSpecTcpRouteActionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecTcpRouteAction)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualService)(nil)).Elem() } -func (i RouteSpecTcpRouteActionArgs) ToRouteSpecTcpRouteActionOutput() RouteSpecTcpRouteActionOutput { - return i.ToRouteSpecTcpRouteActionOutputWithContext(context.Background()) +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 +} + +func (o VirtualNodeSpecBackendVirtualServiceOutput) ToVirtualNodeSpecBackendVirtualServiceOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceOutput { + return o +} + +// The client policy for the backend. +func (o VirtualNodeSpecBackendVirtualServiceOutput) ClientPolicy() VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualService) *VirtualNodeSpecBackendVirtualServiceClientPolicy { + return v.ClientPolicy + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput) +} + +// The name of the virtual service that is acting as a virtual node backend. +func (o VirtualNodeSpecBackendVirtualServiceOutput) VirtualServiceName() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualService) string { return v.VirtualServiceName }).(pulumi.StringOutput) +} + +type VirtualNodeSpecBackendVirtualServiceClientPolicy struct { + // The 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: +// +// VirtualNodeSpecBackendVirtualServiceClientPolicyArgs{...} +type VirtualNodeSpecBackendVirtualServiceClientPolicyInput interface { + pulumi.Input + + ToVirtualNodeSpecBackendVirtualServiceClientPolicyOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyOutput +} + +type VirtualNodeSpecBackendVirtualServiceClientPolicyArgs struct { + // The 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 RouteSpecTcpRouteActionArgs) ToRouteSpecTcpRouteActionOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteActionOutput) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyOutput) } -func (i RouteSpecTcpRouteActionArgs) ToRouteSpecTcpRouteActionPtrOutput() RouteSpecTcpRouteActionPtrOutput { - return i.ToRouteSpecTcpRouteActionPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(context.Background()) } -func (i RouteSpecTcpRouteActionArgs) ToRouteSpecTcpRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteActionOutput).ToRouteSpecTcpRouteActionPtrOutputWithContext(ctx) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(ctx) } -// RouteSpecTcpRouteActionPtrInput is an input type that accepts RouteSpecTcpRouteActionArgs, RouteSpecTcpRouteActionPtr and RouteSpecTcpRouteActionPtrOutput values. -// You can construct a concrete instance of `RouteSpecTcpRouteActionPtrInput` via: +// VirtualNodeSpecBackendVirtualServiceClientPolicyPtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyPtr and VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyPtrInput` via: // -// RouteSpecTcpRouteActionArgs{...} +// VirtualNodeSpecBackendVirtualServiceClientPolicyArgs{...} // // or: // // nil -type RouteSpecTcpRouteActionPtrInput interface { +type VirtualNodeSpecBackendVirtualServiceClientPolicyPtrInput interface { pulumi.Input - ToRouteSpecTcpRouteActionPtrOutput() RouteSpecTcpRouteActionPtrOutput - ToRouteSpecTcpRouteActionPtrOutputWithContext(context.Context) RouteSpecTcpRouteActionPtrOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput } -type routeSpecTcpRouteActionPtrType RouteSpecTcpRouteActionArgs +type virtualNodeSpecBackendVirtualServiceClientPolicyPtrType VirtualNodeSpecBackendVirtualServiceClientPolicyArgs -func RouteSpecTcpRouteActionPtr(v *RouteSpecTcpRouteActionArgs) RouteSpecTcpRouteActionPtrInput { - return (*routeSpecTcpRouteActionPtrType)(v) +func VirtualNodeSpecBackendVirtualServiceClientPolicyPtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyPtrInput { + return (*virtualNodeSpecBackendVirtualServiceClientPolicyPtrType)(v) } -func (*routeSpecTcpRouteActionPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecTcpRouteAction)(nil)).Elem() +func (*virtualNodeSpecBackendVirtualServiceClientPolicyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicy)(nil)).Elem() } -func (i *routeSpecTcpRouteActionPtrType) ToRouteSpecTcpRouteActionPtrOutput() RouteSpecTcpRouteActionPtrOutput { - return i.ToRouteSpecTcpRouteActionPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(context.Background()) } -func (i *routeSpecTcpRouteActionPtrType) ToRouteSpecTcpRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteActionPtrOutput) +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput) } -type RouteSpecTcpRouteActionOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendVirtualServiceClientPolicyOutput struct{ *pulumi.OutputState } -func (RouteSpecTcpRouteActionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecTcpRouteAction)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicy)(nil)).Elem() } -func (o RouteSpecTcpRouteActionOutput) ToRouteSpecTcpRouteActionOutput() RouteSpecTcpRouteActionOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyOutput { return o } -func (o RouteSpecTcpRouteActionOutput) ToRouteSpecTcpRouteActionOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyOutput { return o } -func (o RouteSpecTcpRouteActionOutput) ToRouteSpecTcpRouteActionPtrOutput() RouteSpecTcpRouteActionPtrOutput { - return o.ToRouteSpecTcpRouteActionPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { + return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(context.Background()) } -func (o RouteSpecTcpRouteActionOutput) ToRouteSpecTcpRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionPtrOutput { - return o.ApplyT(func(v RouteSpecTcpRouteAction) *RouteSpecTcpRouteAction { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicy) *VirtualNodeSpecBackendVirtualServiceClientPolicy { return &v - }).(RouteSpecTcpRouteActionPtrOutput) + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput) } -// The 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) +// The Transport Layer Security (TLS) client policy. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyOutput) Tls() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicy) *VirtualNodeSpecBackendVirtualServiceClientPolicyTls { + return v.Tls + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) } -type RouteSpecTcpRouteActionPtrOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput struct{ *pulumi.OutputState } -func (RouteSpecTcpRouteActionPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecTcpRouteAction)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicy)(nil)).Elem() } -func (o RouteSpecTcpRouteActionPtrOutput) ToRouteSpecTcpRouteActionPtrOutput() RouteSpecTcpRouteActionPtrOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { return o } -func (o RouteSpecTcpRouteActionPtrOutput) ToRouteSpecTcpRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionPtrOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { return o } -func (o RouteSpecTcpRouteActionPtrOutput) Elem() RouteSpecTcpRouteActionOutput { - return o.ApplyT(func(v *RouteSpecTcpRouteAction) RouteSpecTcpRouteAction { return *v }).(RouteSpecTcpRouteActionOutput) +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicy) VirtualNodeSpecBackendVirtualServiceClientPolicy { + return *v + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyOutput) } -// The 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 { +// The 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.WeightedTargets - }).(RouteSpecTcpRouteActionWeightedTargetArrayOutput) + return v.Tls + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) } -type RouteSpecTcpRouteActionWeightedTarget struct { - // The virtual node to associate with the weighted target. - VirtualNode string `pulumi:"virtualNode"` - // The relative weight of the weighted target. An integer between 0 and 100. - Weight int `pulumi:"weight"` +type VirtualNodeSpecBackendVirtualServiceClientPolicyTls struct { + Enforce *bool `pulumi:"enforce"` + // One or more ports that the policy is enforced for. + Ports []int `pulumi:"ports"` + // The TLS validation context. + Validation VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation `pulumi:"validation"` } -// RouteSpecTcpRouteActionWeightedTargetInput is an input type that accepts RouteSpecTcpRouteActionWeightedTargetArgs and RouteSpecTcpRouteActionWeightedTargetOutput values. -// You can construct a concrete instance of `RouteSpecTcpRouteActionWeightedTargetInput` via: +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsInput` via: // -// RouteSpecTcpRouteActionWeightedTargetArgs{...} -type RouteSpecTcpRouteActionWeightedTargetInput interface { +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs{...} +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsInput interface { pulumi.Input - ToRouteSpecTcpRouteActionWeightedTargetOutput() RouteSpecTcpRouteActionWeightedTargetOutput - ToRouteSpecTcpRouteActionWeightedTargetOutputWithContext(context.Context) RouteSpecTcpRouteActionWeightedTargetOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput } -type RouteSpecTcpRouteActionWeightedTargetArgs struct { - // The virtual node to associate with the weighted target. - VirtualNode pulumi.StringInput `pulumi:"virtualNode"` - // The relative weight of the weighted target. An integer between 0 and 100. - Weight pulumi.IntInput `pulumi:"weight"` +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs struct { + Enforce pulumi.BoolPtrInput `pulumi:"enforce"` + // One or more ports that the policy is enforced for. + Ports pulumi.IntArrayInput `pulumi:"ports"` + // The TLS validation context. + Validation VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationInput `pulumi:"validation"` } -func (RouteSpecTcpRouteActionWeightedTargetArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecTcpRouteActionWeightedTarget)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTls)(nil)).Elem() } -func (i RouteSpecTcpRouteActionWeightedTargetArgs) ToRouteSpecTcpRouteActionWeightedTargetOutput() RouteSpecTcpRouteActionWeightedTargetOutput { - return i.ToRouteSpecTcpRouteActionWeightedTargetOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutputWithContext(context.Background()) } -func (i RouteSpecTcpRouteActionWeightedTargetArgs) ToRouteSpecTcpRouteActionWeightedTargetOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionWeightedTargetOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteActionWeightedTargetOutput) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) } -// RouteSpecTcpRouteActionWeightedTargetArrayInput is an input type that accepts RouteSpecTcpRouteActionWeightedTargetArray and RouteSpecTcpRouteActionWeightedTargetArrayOutput values. -// You can construct a concrete instance of `RouteSpecTcpRouteActionWeightedTargetArrayInput` via: +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtr and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrInput` via: // -// RouteSpecTcpRouteActionWeightedTargetArray{ RouteSpecTcpRouteActionWeightedTargetArgs{...} } -type RouteSpecTcpRouteActionWeightedTargetArrayInput interface { +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrInput interface { pulumi.Input - ToRouteSpecTcpRouteActionWeightedTargetArrayOutput() RouteSpecTcpRouteActionWeightedTargetArrayOutput - ToRouteSpecTcpRouteActionWeightedTargetArrayOutputWithContext(context.Context) RouteSpecTcpRouteActionWeightedTargetArrayOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput } -type RouteSpecTcpRouteActionWeightedTargetArray []RouteSpecTcpRouteActionWeightedTargetInput +type virtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrType VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs -func (RouteSpecTcpRouteActionWeightedTargetArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteSpecTcpRouteActionWeightedTarget)(nil)).Elem() +func VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrInput { + return (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrType)(v) } -func (i RouteSpecTcpRouteActionWeightedTargetArray) ToRouteSpecTcpRouteActionWeightedTargetArrayOutput() RouteSpecTcpRouteActionWeightedTargetArrayOutput { - return i.ToRouteSpecTcpRouteActionWeightedTargetArrayOutputWithContext(context.Background()) +func (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTls)(nil)).Elem() } -func (i RouteSpecTcpRouteActionWeightedTargetArray) ToRouteSpecTcpRouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionWeightedTargetArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteActionWeightedTargetArrayOutput) +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(context.Background()) } -type RouteSpecTcpRouteActionWeightedTargetOutput struct{ *pulumi.OutputState } +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) +} -func (RouteSpecTcpRouteActionWeightedTargetOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecTcpRouteActionWeightedTarget)(nil)).Elem() +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTls)(nil)).Elem() } -func (o RouteSpecTcpRouteActionWeightedTargetOutput) ToRouteSpecTcpRouteActionWeightedTargetOutput() RouteSpecTcpRouteActionWeightedTargetOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput { return o } -func (o RouteSpecTcpRouteActionWeightedTargetOutput) ToRouteSpecTcpRouteActionWeightedTargetOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionWeightedTargetOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput { return o } -// The virtual node to associate with the weighted target. -func (o RouteSpecTcpRouteActionWeightedTargetOutput) VirtualNode() pulumi.StringOutput { - return o.ApplyT(func(v RouteSpecTcpRouteActionWeightedTarget) string { return v.VirtualNode }).(pulumi.StringOutput) +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { + return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(context.Background()) } -// The 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) +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTls) *VirtualNodeSpecBackendVirtualServiceClientPolicyTls { + return &v + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) +} +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) Enforce() pulumi.BoolPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTls) *bool { return v.Enforce }).(pulumi.BoolPtrOutput) } -type RouteSpecTcpRouteActionWeightedTargetArrayOutput struct{ *pulumi.OutputState } +// 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 (RouteSpecTcpRouteActionWeightedTargetArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteSpecTcpRouteActionWeightedTarget)(nil)).Elem() +// The TLS validation context. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) Validation() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTls) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation { + return v.Validation + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) } -func (o RouteSpecTcpRouteActionWeightedTargetArrayOutput) ToRouteSpecTcpRouteActionWeightedTargetArrayOutput() RouteSpecTcpRouteActionWeightedTargetArrayOutput { +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 RouteSpecTcpRouteActionWeightedTargetArrayOutput) ToRouteSpecTcpRouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionWeightedTargetArrayOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { 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 VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTls) VirtualNodeSpecBackendVirtualServiceClientPolicyTls { + return *v + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) +} + +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) Enforce() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTls) *bool { + if v == nil { + return nil + } + return v.Enforce + }).(pulumi.BoolPtrOutput) +} + +// 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) +} + +// The 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 VirtualNodeSpec struct { - // The defaults for backends. - BackendDefaults *VirtualNodeSpecBackendDefaults `pulumi:"backendDefaults"` - // The backends to which the virtual node is expected to send outbound traffic. - Backends []VirtualNodeSpecBackend `pulumi:"backends"` - // The listeners from which the virtual node is expected to receive inbound traffic. - Listener *VirtualNodeSpecListener `pulumi:"listener"` - // The inbound and outbound access logging information for the virtual node. - Logging *VirtualNodeSpecLogging `pulumi:"logging"` - // The service discovery information for the virtual node. - ServiceDiscovery *VirtualNodeSpecServiceDiscovery `pulumi:"serviceDiscovery"` +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation struct { + // The TLS validation context trust. + Trust VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust `pulumi:"trust"` } -// VirtualNodeSpecInput is an input type that accepts VirtualNodeSpecArgs and VirtualNodeSpecOutput values. -// You can construct a concrete instance of `VirtualNodeSpecInput` via: +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationInput` via: // -// VirtualNodeSpecArgs{...} -type VirtualNodeSpecInput interface { +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs{...} +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationInput interface { pulumi.Input - ToVirtualNodeSpecOutput() VirtualNodeSpecOutput - ToVirtualNodeSpecOutputWithContext(context.Context) VirtualNodeSpecOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput } -type VirtualNodeSpecArgs struct { - // The defaults for backends. - BackendDefaults VirtualNodeSpecBackendDefaultsPtrInput `pulumi:"backendDefaults"` - // The backends to which the virtual node is expected to send outbound traffic. - Backends VirtualNodeSpecBackendArrayInput `pulumi:"backends"` - // The listeners from which the virtual node is expected to receive inbound traffic. - Listener VirtualNodeSpecListenerPtrInput `pulumi:"listener"` - // The inbound and outbound access logging information for the virtual node. - Logging VirtualNodeSpecLoggingPtrInput `pulumi:"logging"` - // The service discovery information for the virtual node. - ServiceDiscovery VirtualNodeSpecServiceDiscoveryPtrInput `pulumi:"serviceDiscovery"` +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs struct { + // The TLS validation context trust. + Trust VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustInput `pulumi:"trust"` } -func (VirtualNodeSpecArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpec)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation)(nil)).Elem() } -func (i VirtualNodeSpecArgs) ToVirtualNodeSpecOutput() VirtualNodeSpecOutput { - return i.ToVirtualNodeSpecOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutputWithContext(context.Background()) } -func (i VirtualNodeSpecArgs) ToVirtualNodeSpecOutputWithContext(ctx context.Context) VirtualNodeSpecOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecOutput) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) } -func (i VirtualNodeSpecArgs) ToVirtualNodeSpecPtrOutput() VirtualNodeSpecPtrOutput { - return i.ToVirtualNodeSpecPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecArgs) ToVirtualNodeSpecPtrOutputWithContext(ctx context.Context) VirtualNodeSpecPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecOutput).ToVirtualNodeSpecPtrOutputWithContext(ctx) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(ctx) } -// VirtualNodeSpecPtrInput is an input type that accepts VirtualNodeSpecArgs, VirtualNodeSpecPtr and VirtualNodeSpecPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecPtrInput` via: +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtr and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrInput` via: // -// VirtualNodeSpecArgs{...} +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs{...} // // or: // // nil -type VirtualNodeSpecPtrInput interface { +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrInput interface { pulumi.Input - ToVirtualNodeSpecPtrOutput() VirtualNodeSpecPtrOutput - ToVirtualNodeSpecPtrOutputWithContext(context.Context) VirtualNodeSpecPtrOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput } -type virtualNodeSpecPtrType VirtualNodeSpecArgs +type virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrType VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs -func VirtualNodeSpecPtr(v *VirtualNodeSpecArgs) VirtualNodeSpecPtrInput { - return (*virtualNodeSpecPtrType)(v) +func VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrInput { + return (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrType)(v) } -func (*virtualNodeSpecPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpec)(nil)).Elem() +func (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation)(nil)).Elem() } -func (i *virtualNodeSpecPtrType) ToVirtualNodeSpecPtrOutput() VirtualNodeSpecPtrOutput { - return i.ToVirtualNodeSpecPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecPtrType) ToVirtualNodeSpecPtrOutputWithContext(ctx context.Context) VirtualNodeSpecPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecPtrOutput) +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput) } -type VirtualNodeSpecOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpec)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation)(nil)).Elem() } -func (o VirtualNodeSpecOutput) ToVirtualNodeSpecOutput() VirtualNodeSpecOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput { return o } -func (o VirtualNodeSpecOutput) ToVirtualNodeSpecOutputWithContext(ctx context.Context) VirtualNodeSpecOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput { return o } -func (o VirtualNodeSpecOutput) ToVirtualNodeSpecPtrOutput() VirtualNodeSpecPtrOutput { - return o.ToVirtualNodeSpecPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { + return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecOutput) ToVirtualNodeSpecPtrOutputWithContext(ctx context.Context) VirtualNodeSpecPtrOutput { - return o.ApplyT(func(v VirtualNodeSpec) *VirtualNodeSpec { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation { return &v - }).(VirtualNodeSpecPtrOutput) + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput) } -// The defaults for backends. -func (o VirtualNodeSpecOutput) BackendDefaults() VirtualNodeSpecBackendDefaultsPtrOutput { - return o.ApplyT(func(v VirtualNodeSpec) *VirtualNodeSpecBackendDefaults { return v.BackendDefaults }).(VirtualNodeSpecBackendDefaultsPtrOutput) +// The TLS validation context trust. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) Trust() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust { + return v.Trust + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) } -// The 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) -} +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput struct{ *pulumi.OutputState } -// The 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 (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation)(nil)).Elem() } -// The 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 VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { + return o } -// The service discovery information for the virtual node. -func (o VirtualNodeSpecOutput) ServiceDiscovery() VirtualNodeSpecServiceDiscoveryPtrOutput { - return o.ApplyT(func(v VirtualNodeSpec) *VirtualNodeSpecServiceDiscovery { return v.ServiceDiscovery }).(VirtualNodeSpecServiceDiscoveryPtrOutput) +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { + return o } -type VirtualNodeSpecPtrOutput struct{ *pulumi.OutputState } - -func (VirtualNodeSpecPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpec)(nil)).Elem() +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation { + return *v + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) } -func (o VirtualNodeSpecPtrOutput) ToVirtualNodeSpecPtrOutput() VirtualNodeSpecPtrOutput { - return o +// The 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) } -func (o VirtualNodeSpecPtrOutput) ToVirtualNodeSpecPtrOutputWithContext(ctx context.Context) VirtualNodeSpecPtrOutput { - return o +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust struct { + // The TLS validation context trust for an AWS Certificate Manager (ACM) certificate. + Acm *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm `pulumi:"acm"` + // The TLS validation context trust for a local file. + File *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile `pulumi:"file"` } -func (o VirtualNodeSpecPtrOutput) Elem() VirtualNodeSpecOutput { - return o.ApplyT(func(v *VirtualNodeSpec) VirtualNodeSpec { return *v }).(VirtualNodeSpecOutput) +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustInput` via: +// +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs{...} +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustInput interface { + pulumi.Input + + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput } -// The defaults for backends. -func (o VirtualNodeSpecPtrOutput) BackendDefaults() VirtualNodeSpecBackendDefaultsPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpec) *VirtualNodeSpecBackendDefaults { - if v == nil { - return nil - } - return v.BackendDefaults - }).(VirtualNodeSpecBackendDefaultsPtrOutput) +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs struct { + // The TLS validation context trust for an AWS Certificate Manager (ACM) certificate. + Acm VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrInput `pulumi:"acm"` + // The TLS validation context trust for a local file. + File VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrInput `pulumi:"file"` } -// The 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 (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust)(nil)).Elem() } -// The 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 VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutputWithContext(context.Background()) } -// The 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 VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) } -// The 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 VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(context.Background()) } -type VirtualNodeSpecBackend struct { - // Specifies a virtual service to use as a backend for a virtual node. - VirtualService VirtualNodeSpecBackendVirtualService `pulumi:"virtualService"` +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendInput is an input type that accepts VirtualNodeSpecBackendArgs and VirtualNodeSpecBackendOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendInput` via: +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtr and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrInput` via: // -// VirtualNodeSpecBackendArgs{...} -type VirtualNodeSpecBackendInput interface { +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendOutput() VirtualNodeSpecBackendOutput - ToVirtualNodeSpecBackendOutputWithContext(context.Context) VirtualNodeSpecBackendOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput } -type VirtualNodeSpecBackendArgs struct { - // Specifies a virtual service to use as a backend for a virtual node. - VirtualService VirtualNodeSpecBackendVirtualServiceInput `pulumi:"virtualService"` -} +type virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrType VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs -func (VirtualNodeSpecBackendArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackend)(nil)).Elem() +func VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrInput { + return (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrType)(v) } -func (i VirtualNodeSpecBackendArgs) ToVirtualNodeSpecBackendOutput() VirtualNodeSpecBackendOutput { - return i.ToVirtualNodeSpecBackendOutputWithContext(context.Background()) +func (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust)(nil)).Elem() } -func (i VirtualNodeSpecBackendArgs) ToVirtualNodeSpecBackendOutputWithContext(ctx context.Context) VirtualNodeSpecBackendOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendOutput) +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(context.Background()) } -// 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 - - ToVirtualNodeSpecBackendArrayOutput() VirtualNodeSpecBackendArrayOutput - ToVirtualNodeSpecBackendArrayOutputWithContext(context.Context) VirtualNodeSpecBackendArrayOutput +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) } -type VirtualNodeSpecBackendArray []VirtualNodeSpecBackendInput +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]VirtualNodeSpecBackend)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust)(nil)).Elem() } -func (i VirtualNodeSpecBackendArray) ToVirtualNodeSpecBackendArrayOutput() VirtualNodeSpecBackendArrayOutput { - return i.ToVirtualNodeSpecBackendArrayOutputWithContext(context.Background()) +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput { + return o } -func (i VirtualNodeSpecBackendArray) ToVirtualNodeSpecBackendArrayOutputWithContext(ctx context.Context) VirtualNodeSpecBackendArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendArrayOutput) +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput { + return o } -type VirtualNodeSpecBackendOutput struct{ *pulumi.OutputState } - -func (VirtualNodeSpecBackendOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackend)(nil)).Elem() +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { + return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendOutput) ToVirtualNodeSpecBackendOutput() VirtualNodeSpecBackendOutput { - return o +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust { + return &v + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) } -func (o VirtualNodeSpecBackendOutput) ToVirtualNodeSpecBackendOutputWithContext(ctx context.Context) VirtualNodeSpecBackendOutput { - return o +// The 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) } -// Specifies a 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) +// The TLS validation context trust for a local file. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) File() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile { + return v.File + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) } -type VirtualNodeSpecBackendArrayOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]VirtualNodeSpecBackend)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust)(nil)).Elem() } -func (o VirtualNodeSpecBackendArrayOutput) ToVirtualNodeSpecBackendArrayOutput() VirtualNodeSpecBackendArrayOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { return o } -func (o VirtualNodeSpecBackendArrayOutput) ToVirtualNodeSpecBackendArrayOutputWithContext(ctx context.Context) VirtualNodeSpecBackendArrayOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { 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 VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust { + return *v + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) } -type VirtualNodeSpecBackendDefaults struct { - // The default client policy for virtual service backends. See above for details. - ClientPolicy *VirtualNodeSpecBackendDefaultsClientPolicy `pulumi:"clientPolicy"` +// The 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) } -// VirtualNodeSpecBackendDefaultsInput is an input type that accepts VirtualNodeSpecBackendDefaultsArgs and VirtualNodeSpecBackendDefaultsOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsInput` via: +// The TLS validation context trust for a local file. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) File() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile { + if v == nil { + return nil + } + return v.File + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) +} + +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm struct { + // One or more ACM Amazon Resource Name (ARN)s. + CertificateAuthorityArns []string `pulumi:"certificateAuthorityArns"` +} + +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmInput` via: // -// VirtualNodeSpecBackendDefaultsArgs{...} -type VirtualNodeSpecBackendDefaultsInput interface { +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs{...} +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsOutput() VirtualNodeSpecBackendDefaultsOutput - ToVirtualNodeSpecBackendDefaultsOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput } -type VirtualNodeSpecBackendDefaultsArgs struct { - // The default client policy for virtual service backends. See above for details. - ClientPolicy VirtualNodeSpecBackendDefaultsClientPolicyPtrInput `pulumi:"clientPolicy"` +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs struct { + // One or more ACM Amazon Resource Name (ARN)s. + CertificateAuthorityArns pulumi.StringArrayInput `pulumi:"certificateAuthorityArns"` } -func (VirtualNodeSpecBackendDefaultsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaults)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm)(nil)).Elem() } -func (i VirtualNodeSpecBackendDefaultsArgs) ToVirtualNodeSpecBackendDefaultsOutput() VirtualNodeSpecBackendDefaultsOutput { - return i.ToVirtualNodeSpecBackendDefaultsOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsArgs) ToVirtualNodeSpecBackendDefaultsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsOutput) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput) } -func (i VirtualNodeSpecBackendDefaultsArgs) ToVirtualNodeSpecBackendDefaultsPtrOutput() VirtualNodeSpecBackendDefaultsPtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsArgs) ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsOutput).ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(ctx) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendDefaultsPtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsArgs, VirtualNodeSpecBackendDefaultsPtr and VirtualNodeSpecBackendDefaultsPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsPtrInput` via: +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtr and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrInput` via: // -// VirtualNodeSpecBackendDefaultsArgs{...} +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs{...} // // or: // // nil -type VirtualNodeSpecBackendDefaultsPtrInput interface { +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsPtrOutput() VirtualNodeSpecBackendDefaultsPtrOutput - ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsPtrOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput } -type virtualNodeSpecBackendDefaultsPtrType VirtualNodeSpecBackendDefaultsArgs +type virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrType VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs -func VirtualNodeSpecBackendDefaultsPtr(v *VirtualNodeSpecBackendDefaultsArgs) VirtualNodeSpecBackendDefaultsPtrInput { - return (*virtualNodeSpecBackendDefaultsPtrType)(v) +func VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrInput { + return (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrType)(v) } -func (*virtualNodeSpecBackendDefaultsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaults)(nil)).Elem() +func (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm)(nil)).Elem() } -func (i *virtualNodeSpecBackendDefaultsPtrType) ToVirtualNodeSpecBackendDefaultsPtrOutput() VirtualNodeSpecBackendDefaultsPtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendDefaultsPtrType) ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsPtrOutput) +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) } -type VirtualNodeSpecBackendDefaultsOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendDefaultsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaults)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsOutput) ToVirtualNodeSpecBackendDefaultsOutput() VirtualNodeSpecBackendDefaultsOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput { return o } -func (o VirtualNodeSpecBackendDefaultsOutput) ToVirtualNodeSpecBackendDefaultsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput { return o } -func (o VirtualNodeSpecBackendDefaultsOutput) ToVirtualNodeSpecBackendDefaultsPtrOutput() VirtualNodeSpecBackendDefaultsPtrOutput { - return o.ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { + return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendDefaultsOutput) ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaults) *VirtualNodeSpecBackendDefaults { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm { return &v - }).(VirtualNodeSpecBackendDefaultsPtrOutput) + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) } -// The 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) +// One or more ACM Amazon Resource Name (ARN)s. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput) CertificateAuthorityArns() pulumi.StringArrayOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm) []string { + return v.CertificateAuthorityArns + }).(pulumi.StringArrayOutput) } -type VirtualNodeSpecBackendDefaultsPtrOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendDefaultsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaults)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsPtrOutput) ToVirtualNodeSpecBackendDefaultsPtrOutput() VirtualNodeSpecBackendDefaultsPtrOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { return o } -func (o VirtualNodeSpecBackendDefaultsPtrOutput) ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsPtrOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { return o } -func (o VirtualNodeSpecBackendDefaultsPtrOutput) Elem() VirtualNodeSpecBackendDefaultsOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaults) VirtualNodeSpecBackendDefaults { return *v }).(VirtualNodeSpecBackendDefaultsOutput) +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm { + return *v + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput) } -// The default client policy for virtual service backends. See above for details. -func (o VirtualNodeSpecBackendDefaultsPtrOutput) ClientPolicy() VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaults) *VirtualNodeSpecBackendDefaultsClientPolicy { +// One or more ACM Amazon Resource Name (ARN)s. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) CertificateAuthorityArns() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm) []string { if v == nil { return nil } - return v.ClientPolicy - }).(VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput) + return v.CertificateAuthorityArns + }).(pulumi.StringArrayOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicy struct { - // The Transport Layer Security (TLS) client policy. - Tls *VirtualNodeSpecBackendDefaultsClientPolicyTls `pulumi:"tls"` +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile struct { + // The certificate chain for the certificate. + CertificateChain string `pulumi:"certificateChain"` } -// VirtualNodeSpecBackendDefaultsClientPolicyInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyArgs and VirtualNodeSpecBackendDefaultsClientPolicyOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyInput` via: +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileInput` via: // -// VirtualNodeSpecBackendDefaultsClientPolicyArgs{...} -type VirtualNodeSpecBackendDefaultsClientPolicyInput interface { +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs{...} +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyOutput() VirtualNodeSpecBackendDefaultsClientPolicyOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput } -type VirtualNodeSpecBackendDefaultsClientPolicyArgs struct { - // The Transport Layer Security (TLS) client policy. - Tls VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrInput `pulumi:"tls"` +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs struct { + // The certificate chain for the certificate. + CertificateChain pulumi.StringInput `pulumi:"certificateChain"` } -func (VirtualNodeSpecBackendDefaultsClientPolicyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicy)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile)(nil)).Elem() } -func (i VirtualNodeSpecBackendDefaultsClientPolicyArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyOutput() VirtualNodeSpecBackendDefaultsClientPolicyOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyOutput) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(ctx) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendDefaultsClientPolicyPtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyArgs, VirtualNodeSpecBackendDefaultsClientPolicyPtr and VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyPtrInput` via: +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtr and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrInput` via: // -// VirtualNodeSpecBackendDefaultsClientPolicyArgs{...} +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs{...} // // or: // // nil -type VirtualNodeSpecBackendDefaultsClientPolicyPtrInput interface { +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput } -type virtualNodeSpecBackendDefaultsClientPolicyPtrType VirtualNodeSpecBackendDefaultsClientPolicyArgs +type virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrType VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs -func VirtualNodeSpecBackendDefaultsClientPolicyPtr(v *VirtualNodeSpecBackendDefaultsClientPolicyArgs) VirtualNodeSpecBackendDefaultsClientPolicyPtrInput { - return (*virtualNodeSpecBackendDefaultsClientPolicyPtrType)(v) +func VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrInput { + return (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrType)(v) } -func (*virtualNodeSpecBackendDefaultsClientPolicyPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicy)(nil)).Elem() +func (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile)(nil)).Elem() } -func (i *virtualNodeSpecBackendDefaultsClientPolicyPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendDefaultsClientPolicyPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput) +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendDefaultsClientPolicyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicy)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsClientPolicyOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyOutput() VirtualNodeSpecBackendDefaultsClientPolicyOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { - return o.ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { + return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendDefaultsClientPolicyOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicy) *VirtualNodeSpecBackendDefaultsClientPolicy { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile { return &v - }).(VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput) + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) } -// The Transport Layer Security (TLS) client policy. -func (o VirtualNodeSpecBackendDefaultsClientPolicyOutput) Tls() VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicy) *VirtualNodeSpecBackendDefaultsClientPolicyTls { - return v.Tls - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) +// The certificate chain for the certificate. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput) CertificateChain() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile) string { + return v.CertificateChain + }).(pulumi.StringOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicy)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicy) VirtualNodeSpecBackendDefaultsClientPolicy { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile { return *v - }).(VirtualNodeSpecBackendDefaultsClientPolicyOutput) + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput) } -// The Transport Layer Security (TLS) client policy. -func (o VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput) Tls() VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicy) *VirtualNodeSpecBackendDefaultsClientPolicyTls { +// The certificate chain for the certificate. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) CertificateChain() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile) *string { if v == nil { return nil } - return v.Tls - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) + return &v.CertificateChain + }).(pulumi.StringPtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTls struct { - Enforce *bool `pulumi:"enforce"` - // One or more ports that the policy is enforced for. - Ports []int `pulumi:"ports"` - // The TLS validation context. - Validation VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation `pulumi:"validation"` +type VirtualNodeSpecListener struct { + // The health check information for the listener. + HealthCheck *VirtualNodeSpecListenerHealthCheck `pulumi:"healthCheck"` + // The port mapping information for the listener. + PortMapping VirtualNodeSpecListenerPortMapping `pulumi:"portMapping"` + // Timeouts for different protocols. + Timeout *VirtualNodeSpecListenerTimeout `pulumi:"timeout"` + // The Transport Layer Security (TLS) properties for the listener + Tls *VirtualNodeSpecListenerTls `pulumi:"tls"` } -// VirtualNodeSpecBackendDefaultsClientPolicyTlsInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs and VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsInput` via: +// VirtualNodeSpecListenerInput is an input type that accepts VirtualNodeSpecListenerArgs and VirtualNodeSpecListenerOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerInput` via: // -// VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs{...} -type VirtualNodeSpecBackendDefaultsClientPolicyTlsInput interface { +// VirtualNodeSpecListenerArgs{...} +type VirtualNodeSpecListenerInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput + ToVirtualNodeSpecListenerOutput() VirtualNodeSpecListenerOutput + ToVirtualNodeSpecListenerOutputWithContext(context.Context) VirtualNodeSpecListenerOutput } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs struct { - Enforce pulumi.BoolPtrInput `pulumi:"enforce"` - // One or more ports that the policy is enforced for. - Ports pulumi.IntArrayInput `pulumi:"ports"` - // The TLS validation context. - Validation VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationInput `pulumi:"validation"` +type VirtualNodeSpecListenerArgs struct { + // The health check information for the listener. + HealthCheck VirtualNodeSpecListenerHealthCheckPtrInput `pulumi:"healthCheck"` + // The port mapping information for the listener. + PortMapping VirtualNodeSpecListenerPortMappingInput `pulumi:"portMapping"` + // Timeouts for different protocols. + Timeout VirtualNodeSpecListenerTimeoutPtrInput `pulumi:"timeout"` + // The Transport Layer Security (TLS) properties for the listener + Tls VirtualNodeSpecListenerTlsPtrInput `pulumi:"tls"` } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTls)(nil)).Elem() +func (VirtualNodeSpecListenerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListener)(nil)).Elem() } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsOutputWithContext(context.Background()) +func (i VirtualNodeSpecListenerArgs) ToVirtualNodeSpecListenerOutput() VirtualNodeSpecListenerOutput { + return i.ToVirtualNodeSpecListenerOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) +func (i VirtualNodeSpecListenerArgs) ToVirtualNodeSpecListenerOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerOutput) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecListenerArgs) ToVirtualNodeSpecListenerPtrOutput() VirtualNodeSpecListenerPtrOutput { + return i.ToVirtualNodeSpecListenerPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(ctx) +func (i VirtualNodeSpecListenerArgs) ToVirtualNodeSpecListenerPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerOutput).ToVirtualNodeSpecListenerPtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs, VirtualNodeSpecBackendDefaultsClientPolicyTlsPtr and VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrInput` via: +// VirtualNodeSpecListenerPtrInput is an input type that accepts VirtualNodeSpecListenerArgs, VirtualNodeSpecListenerPtr and VirtualNodeSpecListenerPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerPtrInput` via: // -// VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs{...} +// VirtualNodeSpecListenerArgs{...} // // or: // // nil -type VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrInput interface { +type VirtualNodeSpecListenerPtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput + ToVirtualNodeSpecListenerPtrOutput() VirtualNodeSpecListenerPtrOutput + ToVirtualNodeSpecListenerPtrOutputWithContext(context.Context) VirtualNodeSpecListenerPtrOutput } -type virtualNodeSpecBackendDefaultsClientPolicyTlsPtrType VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs +type virtualNodeSpecListenerPtrType VirtualNodeSpecListenerArgs -func VirtualNodeSpecBackendDefaultsClientPolicyTlsPtr(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs) VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrInput { - return (*virtualNodeSpecBackendDefaultsClientPolicyTlsPtrType)(v) +func VirtualNodeSpecListenerPtr(v *VirtualNodeSpecListenerArgs) VirtualNodeSpecListenerPtrInput { + return (*virtualNodeSpecListenerPtrType)(v) } -func (*virtualNodeSpecBackendDefaultsClientPolicyTlsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTls)(nil)).Elem() +func (*virtualNodeSpecListenerPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListener)(nil)).Elem() } -func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecListenerPtrType) ToVirtualNodeSpecListenerPtrOutput() VirtualNodeSpecListenerPtrOutput { + return i.ToVirtualNodeSpecListenerPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) +func (i *virtualNodeSpecListenerPtrType) ToVirtualNodeSpecListenerPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerPtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecListenerOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTls)(nil)).Elem() +func (VirtualNodeSpecListenerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListener)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput { +func (o VirtualNodeSpecListenerOutput) ToVirtualNodeSpecListenerOutput() VirtualNodeSpecListenerOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput { +func (o VirtualNodeSpecListenerOutput) ToVirtualNodeSpecListenerOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { - return o.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecListenerOutput) ToVirtualNodeSpecListenerPtrOutput() VirtualNodeSpecListenerPtrOutput { + return o.ToVirtualNodeSpecListenerPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTls) *VirtualNodeSpecBackendDefaultsClientPolicyTls { +func (o VirtualNodeSpecListenerOutput) ToVirtualNodeSpecListenerPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListener) *VirtualNodeSpecListener { return &v - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) + }).(VirtualNodeSpecListenerPtrOutput) } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) Enforce() pulumi.BoolPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTls) *bool { return v.Enforce }).(pulumi.BoolPtrOutput) + +// The health check information for the listener. +func (o VirtualNodeSpecListenerOutput) HealthCheck() VirtualNodeSpecListenerHealthCheckPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListener) *VirtualNodeSpecListenerHealthCheck { return v.HealthCheck }).(VirtualNodeSpecListenerHealthCheckPtrOutput) } -// 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) +// The port mapping information for the listener. +func (o VirtualNodeSpecListenerOutput) PortMapping() VirtualNodeSpecListenerPortMappingOutput { + return o.ApplyT(func(v VirtualNodeSpecListener) VirtualNodeSpecListenerPortMapping { return v.PortMapping }).(VirtualNodeSpecListenerPortMappingOutput) } -// The TLS validation context. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) Validation() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTls) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation { - return v.Validation - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) +// Timeouts for different protocols. +func (o VirtualNodeSpecListenerOutput) Timeout() VirtualNodeSpecListenerTimeoutPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListener) *VirtualNodeSpecListenerTimeout { return v.Timeout }).(VirtualNodeSpecListenerTimeoutPtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput struct{ *pulumi.OutputState } +// The Transport Layer Security (TLS) properties for the listener +func (o VirtualNodeSpecListenerOutput) Tls() VirtualNodeSpecListenerTlsPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListener) *VirtualNodeSpecListenerTls { return v.Tls }).(VirtualNodeSpecListenerTlsPtrOutput) +} -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTls)(nil)).Elem() +type VirtualNodeSpecListenerPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListener)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { +func (o VirtualNodeSpecListenerPtrOutput) ToVirtualNodeSpecListenerPtrOutput() VirtualNodeSpecListenerPtrOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { +func (o VirtualNodeSpecListenerPtrOutput) ToVirtualNodeSpecListenerPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPtrOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTls) VirtualNodeSpecBackendDefaultsClientPolicyTls { - return *v - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) +func (o VirtualNodeSpecListenerPtrOutput) Elem() VirtualNodeSpecListenerOutput { + return o.ApplyT(func(v *VirtualNodeSpecListener) VirtualNodeSpecListener { return *v }).(VirtualNodeSpecListenerOutput) +} + +// The 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) } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) Enforce() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTls) *bool { +// The 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.Enforce - }).(pulumi.BoolPtrOutput) + return &v.PortMapping + }).(VirtualNodeSpecListenerPortMappingPtrOutput) } -// One or more ports that the policy is enforced for. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) Ports() pulumi.IntArrayOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTls) []int { +// Timeouts for different protocols. +func (o VirtualNodeSpecListenerPtrOutput) Timeout() VirtualNodeSpecListenerTimeoutPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListener) *VirtualNodeSpecListenerTimeout { if v == nil { return nil } - return v.Ports - }).(pulumi.IntArrayOutput) + return v.Timeout + }).(VirtualNodeSpecListenerTimeoutPtrOutput) } -// The TLS validation context. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) Validation() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTls) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation { +// The 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.Validation - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) + return v.Tls + }).(VirtualNodeSpecListenerTlsPtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation struct { - // The TLS validation context trust. - Trust VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust `pulumi:"trust"` +type VirtualNodeSpecListenerHealthCheck struct { + // The number of consecutive successful health checks that must occur before declaring listener healthy. + HealthyThreshold int `pulumi:"healthyThreshold"` + // The time period in milliseconds between each health check execution. + IntervalMillis int `pulumi:"intervalMillis"` + // The destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. + Path *string `pulumi:"path"` + // The destination port for the health check request. This port must match the port defined in the `portMapping` for the listener. + Port *int `pulumi:"port"` + // The protocol for the health check request. Valid values are `http`, `http2`, `tcp` and `grpc`. + Protocol string `pulumi:"protocol"` + // The amount of time to wait when receiving a response from the health check, in milliseconds. + TimeoutMillis int `pulumi:"timeoutMillis"` + // The number of consecutive failed health checks that must occur before declaring a virtual node unhealthy. + UnhealthyThreshold int `pulumi:"unhealthyThreshold"` } -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationInput` via: +// VirtualNodeSpecListenerHealthCheckInput is an input type that accepts VirtualNodeSpecListenerHealthCheckArgs and VirtualNodeSpecListenerHealthCheckOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerHealthCheckInput` via: // -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs{...} -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationInput interface { +// VirtualNodeSpecListenerHealthCheckArgs{...} +type VirtualNodeSpecListenerHealthCheckInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput + ToVirtualNodeSpecListenerHealthCheckOutput() VirtualNodeSpecListenerHealthCheckOutput + ToVirtualNodeSpecListenerHealthCheckOutputWithContext(context.Context) VirtualNodeSpecListenerHealthCheckOutput } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs struct { - // The TLS validation context trust. - Trust VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustInput `pulumi:"trust"` +type VirtualNodeSpecListenerHealthCheckArgs struct { + // The number of consecutive successful health checks that must occur before declaring listener healthy. + HealthyThreshold pulumi.IntInput `pulumi:"healthyThreshold"` + // The time period in milliseconds between each health check execution. + IntervalMillis pulumi.IntInput `pulumi:"intervalMillis"` + // The destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. + Path pulumi.StringPtrInput `pulumi:"path"` + // The 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"` + // The protocol for the health check request. Valid values are `http`, `http2`, `tcp` and `grpc`. + Protocol pulumi.StringInput `pulumi:"protocol"` + // The amount of time to wait when receiving a response from the health check, in milliseconds. + TimeoutMillis pulumi.IntInput `pulumi:"timeoutMillis"` + // The number of consecutive failed health checks that must occur before declaring a virtual node unhealthy. + UnhealthyThreshold pulumi.IntInput `pulumi:"unhealthyThreshold"` } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation)(nil)).Elem() +func (VirtualNodeSpecListenerHealthCheckArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerHealthCheck)(nil)).Elem() } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutputWithContext(context.Background()) +func (i VirtualNodeSpecListenerHealthCheckArgs) ToVirtualNodeSpecListenerHealthCheckOutput() VirtualNodeSpecListenerHealthCheckOutput { + return i.ToVirtualNodeSpecListenerHealthCheckOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) +func (i VirtualNodeSpecListenerHealthCheckArgs) ToVirtualNodeSpecListenerHealthCheckOutputWithContext(ctx context.Context) VirtualNodeSpecListenerHealthCheckOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerHealthCheckOutput) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecListenerHealthCheckArgs) ToVirtualNodeSpecListenerHealthCheckPtrOutput() VirtualNodeSpecListenerHealthCheckPtrOutput { + return i.ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(ctx) +func (i VirtualNodeSpecListenerHealthCheckArgs) ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerHealthCheckPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerHealthCheckOutput).ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs, VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtr and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrInput` via: +// VirtualNodeSpecListenerHealthCheckPtrInput is an input type that accepts VirtualNodeSpecListenerHealthCheckArgs, VirtualNodeSpecListenerHealthCheckPtr and VirtualNodeSpecListenerHealthCheckPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerHealthCheckPtrInput` via: // -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs{...} +// VirtualNodeSpecListenerHealthCheckArgs{...} // // or: // // nil -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrInput interface { +type VirtualNodeSpecListenerHealthCheckPtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput + ToVirtualNodeSpecListenerHealthCheckPtrOutput() VirtualNodeSpecListenerHealthCheckPtrOutput + ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(context.Context) VirtualNodeSpecListenerHealthCheckPtrOutput } -type virtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrType VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs +type virtualNodeSpecListenerHealthCheckPtrType VirtualNodeSpecListenerHealthCheckArgs -func VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtr(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrInput { - return (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrType)(v) +func VirtualNodeSpecListenerHealthCheckPtr(v *VirtualNodeSpecListenerHealthCheckArgs) VirtualNodeSpecListenerHealthCheckPtrInput { + return (*virtualNodeSpecListenerHealthCheckPtrType)(v) } -func (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation)(nil)).Elem() +func (*virtualNodeSpecListenerHealthCheckPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerHealthCheck)(nil)).Elem() } -func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecListenerHealthCheckPtrType) ToVirtualNodeSpecListenerHealthCheckPtrOutput() VirtualNodeSpecListenerHealthCheckPtrOutput { + return i.ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) +func (i *virtualNodeSpecListenerHealthCheckPtrType) ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerHealthCheckPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerHealthCheckPtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecListenerHealthCheckOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation)(nil)).Elem() +func (VirtualNodeSpecListenerHealthCheckOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerHealthCheck)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput { +func (o VirtualNodeSpecListenerHealthCheckOutput) ToVirtualNodeSpecListenerHealthCheckOutput() VirtualNodeSpecListenerHealthCheckOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput { +func (o VirtualNodeSpecListenerHealthCheckOutput) ToVirtualNodeSpecListenerHealthCheckOutputWithContext(ctx context.Context) VirtualNodeSpecListenerHealthCheckOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { - return o.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecListenerHealthCheckOutput) ToVirtualNodeSpecListenerHealthCheckPtrOutput() VirtualNodeSpecListenerHealthCheckPtrOutput { + return o.ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation { +func (o VirtualNodeSpecListenerHealthCheckOutput) ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerHealthCheckPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerHealthCheck) *VirtualNodeSpecListenerHealthCheck { return &v - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) + }).(VirtualNodeSpecListenerHealthCheckPtrOutput) } -// The TLS validation context trust. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) Trust() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust { - return v.Trust - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) +// The 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) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput struct{ *pulumi.OutputState } +// The 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) +} -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation)(nil)).Elem() +// The 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) } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { +// The 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) +} + +// The 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) +} + +// The 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) +} + +// The 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 VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { +func (o VirtualNodeSpecListenerHealthCheckPtrOutput) ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerHealthCheckPtrOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation { - return *v - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) +func (o VirtualNodeSpecListenerHealthCheckPtrOutput) Elem() VirtualNodeSpecListenerHealthCheckOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerHealthCheck) VirtualNodeSpecListenerHealthCheck { return *v }).(VirtualNodeSpecListenerHealthCheckOutput) +} + +// The 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) +} + +// The 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) +} + +// The 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) +} + +// The 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) +} + +// The 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) +} + +// The 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) } -// The TLS validation context trust. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) Trust() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust { +// The 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.Trust - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) + return &v.UnhealthyThreshold + }).(pulumi.IntPtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust struct { - // The TLS validation context trust for an AWS Certicate Manager (ACM) certificate. - Acm *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm `pulumi:"acm"` - // The TLS validation context trust for a local file. - File *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile `pulumi:"file"` +type VirtualNodeSpecListenerPortMapping struct { + // The port used for the port mapping. + Port int `pulumi:"port"` + // The protocol used for the port mapping. Valid values are `http`, `http2`, `tcp` and `grpc`. + Protocol string `pulumi:"protocol"` } -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustInput` via: +// VirtualNodeSpecListenerPortMappingInput is an input type that accepts VirtualNodeSpecListenerPortMappingArgs and VirtualNodeSpecListenerPortMappingOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerPortMappingInput` via: // -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs{...} -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustInput interface { +// VirtualNodeSpecListenerPortMappingArgs{...} +type VirtualNodeSpecListenerPortMappingInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput + ToVirtualNodeSpecListenerPortMappingOutput() VirtualNodeSpecListenerPortMappingOutput + ToVirtualNodeSpecListenerPortMappingOutputWithContext(context.Context) VirtualNodeSpecListenerPortMappingOutput } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs struct { - // The TLS validation context trust for an AWS Certicate Manager (ACM) certificate. - Acm VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrInput `pulumi:"acm"` - // The TLS validation context trust for a local file. - File VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrInput `pulumi:"file"` +type VirtualNodeSpecListenerPortMappingArgs struct { + // The port used for the port mapping. + Port pulumi.IntInput `pulumi:"port"` + // The protocol used for the port mapping. Valid values are `http`, `http2`, `tcp` and `grpc`. + Protocol pulumi.StringInput `pulumi:"protocol"` } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust)(nil)).Elem() +func (VirtualNodeSpecListenerPortMappingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerPortMapping)(nil)).Elem() } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutputWithContext(context.Background()) +func (i VirtualNodeSpecListenerPortMappingArgs) ToVirtualNodeSpecListenerPortMappingOutput() VirtualNodeSpecListenerPortMappingOutput { + return i.ToVirtualNodeSpecListenerPortMappingOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) +func (i VirtualNodeSpecListenerPortMappingArgs) ToVirtualNodeSpecListenerPortMappingOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPortMappingOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerPortMappingOutput) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecListenerPortMappingArgs) ToVirtualNodeSpecListenerPortMappingPtrOutput() VirtualNodeSpecListenerPortMappingPtrOutput { + return i.ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(ctx) +func (i VirtualNodeSpecListenerPortMappingArgs) ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPortMappingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerPortMappingOutput).ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs, VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtr and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrInput` via: +// VirtualNodeSpecListenerPortMappingPtrInput is an input type that accepts VirtualNodeSpecListenerPortMappingArgs, VirtualNodeSpecListenerPortMappingPtr and VirtualNodeSpecListenerPortMappingPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerPortMappingPtrInput` via: // -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs{...} +// VirtualNodeSpecListenerPortMappingArgs{...} // // or: // // nil -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrInput interface { +type VirtualNodeSpecListenerPortMappingPtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput + ToVirtualNodeSpecListenerPortMappingPtrOutput() VirtualNodeSpecListenerPortMappingPtrOutput + ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(context.Context) VirtualNodeSpecListenerPortMappingPtrOutput } -type virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrType VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs +type virtualNodeSpecListenerPortMappingPtrType VirtualNodeSpecListenerPortMappingArgs -func VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtr(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrInput { - return (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrType)(v) +func VirtualNodeSpecListenerPortMappingPtr(v *VirtualNodeSpecListenerPortMappingArgs) VirtualNodeSpecListenerPortMappingPtrInput { + return (*virtualNodeSpecListenerPortMappingPtrType)(v) } -func (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust)(nil)).Elem() +func (*virtualNodeSpecListenerPortMappingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerPortMapping)(nil)).Elem() } -func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecListenerPortMappingPtrType) ToVirtualNodeSpecListenerPortMappingPtrOutput() VirtualNodeSpecListenerPortMappingPtrOutput { + return i.ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) +func (i *virtualNodeSpecListenerPortMappingPtrType) ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPortMappingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerPortMappingPtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecListenerPortMappingOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust)(nil)).Elem() +func (VirtualNodeSpecListenerPortMappingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerPortMapping)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput { +func (o VirtualNodeSpecListenerPortMappingOutput) ToVirtualNodeSpecListenerPortMappingOutput() VirtualNodeSpecListenerPortMappingOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput { +func (o VirtualNodeSpecListenerPortMappingOutput) ToVirtualNodeSpecListenerPortMappingOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPortMappingOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { - return o.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecListenerPortMappingOutput) ToVirtualNodeSpecListenerPortMappingPtrOutput() VirtualNodeSpecListenerPortMappingPtrOutput { + return o.ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust { +func (o VirtualNodeSpecListenerPortMappingOutput) ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPortMappingPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerPortMapping) *VirtualNodeSpecListenerPortMapping { return &v - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) + }).(VirtualNodeSpecListenerPortMappingPtrOutput) } -// The TLS validation context trust for an AWS Certicate Manager (ACM) certificate. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) Acm() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm { - return v.Acm - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) +// The port used for the port mapping. +func (o VirtualNodeSpecListenerPortMappingOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerPortMapping) int { return v.Port }).(pulumi.IntOutput) } -// The TLS validation context trust for a local file. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) File() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile { - return v.File - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) +// The 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 VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecListenerPortMappingPtrOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust)(nil)).Elem() +func (VirtualNodeSpecListenerPortMappingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerPortMapping)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { +func (o VirtualNodeSpecListenerPortMappingPtrOutput) ToVirtualNodeSpecListenerPortMappingPtrOutput() VirtualNodeSpecListenerPortMappingPtrOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { +func (o VirtualNodeSpecListenerPortMappingPtrOutput) ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPortMappingPtrOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust { - return *v - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) +func (o VirtualNodeSpecListenerPortMappingPtrOutput) Elem() VirtualNodeSpecListenerPortMappingOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerPortMapping) VirtualNodeSpecListenerPortMapping { return *v }).(VirtualNodeSpecListenerPortMappingOutput) } -// The TLS validation context trust for an AWS Certicate Manager (ACM) certificate. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) Acm() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm { +// The 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.Acm - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) + return &v.Port + }).(pulumi.IntPtrOutput) } -// The TLS validation context trust for a local file. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) File() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile { +// The 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.File - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) + return &v.Protocol + }).(pulumi.StringPtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm struct { - // One or more ACM Amazon Resource Name (ARN)s. - CertificateAuthorityArns []string `pulumi:"certificateAuthorityArns"` +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"` } -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmInput` via: +// VirtualNodeSpecListenerTimeoutInput is an input type that accepts VirtualNodeSpecListenerTimeoutArgs and VirtualNodeSpecListenerTimeoutOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutInput` via: // -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs{...} -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmInput interface { +// VirtualNodeSpecListenerTimeoutArgs{...} +type VirtualNodeSpecListenerTimeoutInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput + ToVirtualNodeSpecListenerTimeoutOutput() VirtualNodeSpecListenerTimeoutOutput + ToVirtualNodeSpecListenerTimeoutOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutOutput } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs struct { - // One or more ACM Amazon Resource Name (ARN)s. - CertificateAuthorityArns pulumi.StringArrayInput `pulumi:"certificateAuthorityArns"` +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 (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm)(nil)).Elem() +func (VirtualNodeSpecListenerTimeoutArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeout)(nil)).Elem() } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutputWithContext(context.Background()) +func (i VirtualNodeSpecListenerTimeoutArgs) ToVirtualNodeSpecListenerTimeoutOutput() VirtualNodeSpecListenerTimeoutOutput { + return i.ToVirtualNodeSpecListenerTimeoutOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) +func (i VirtualNodeSpecListenerTimeoutArgs) ToVirtualNodeSpecListenerTimeoutOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutOutput) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecListenerTimeoutArgs) ToVirtualNodeSpecListenerTimeoutPtrOutput() VirtualNodeSpecListenerTimeoutPtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx) +func (i VirtualNodeSpecListenerTimeoutArgs) ToVirtualNodeSpecListenerTimeoutPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutOutput).ToVirtualNodeSpecListenerTimeoutPtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs, VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtr and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrInput` via: +// VirtualNodeSpecListenerTimeoutPtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutArgs, VirtualNodeSpecListenerTimeoutPtr and VirtualNodeSpecListenerTimeoutPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutPtrInput` via: // -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs{...} +// VirtualNodeSpecListenerTimeoutArgs{...} // // or: // // nil -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrInput interface { +type VirtualNodeSpecListenerTimeoutPtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput + ToVirtualNodeSpecListenerTimeoutPtrOutput() VirtualNodeSpecListenerTimeoutPtrOutput + ToVirtualNodeSpecListenerTimeoutPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutPtrOutput } -type virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrType VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs +type virtualNodeSpecListenerTimeoutPtrType VirtualNodeSpecListenerTimeoutArgs -func VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtr(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrInput { - return (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrType)(v) +func VirtualNodeSpecListenerTimeoutPtr(v *VirtualNodeSpecListenerTimeoutArgs) VirtualNodeSpecListenerTimeoutPtrInput { + return (*virtualNodeSpecListenerTimeoutPtrType)(v) } -func (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm)(nil)).Elem() +func (*virtualNodeSpecListenerTimeoutPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeout)(nil)).Elem() } -func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecListenerTimeoutPtrType) ToVirtualNodeSpecListenerTimeoutPtrOutput() VirtualNodeSpecListenerTimeoutPtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) +func (i *virtualNodeSpecListenerTimeoutPtrType) ToVirtualNodeSpecListenerTimeoutPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutPtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecListenerTimeoutOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm)(nil)).Elem() +func (VirtualNodeSpecListenerTimeoutOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeout)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput { +func (o VirtualNodeSpecListenerTimeoutOutput) ToVirtualNodeSpecListenerTimeoutOutput() VirtualNodeSpecListenerTimeoutOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput { +func (o VirtualNodeSpecListenerTimeoutOutput) ToVirtualNodeSpecListenerTimeoutOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { - return o.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecListenerTimeoutOutput) ToVirtualNodeSpecListenerTimeoutPtrOutput() VirtualNodeSpecListenerTimeoutPtrOutput { + return o.ToVirtualNodeSpecListenerTimeoutPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm { +func (o VirtualNodeSpecListenerTimeoutOutput) ToVirtualNodeSpecListenerTimeoutPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeout) *VirtualNodeSpecListenerTimeout { return &v - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) + }).(VirtualNodeSpecListenerTimeoutPtrOutput) } -// One or more ACM Amazon Resource Name (ARN)s. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) CertificateAuthorityArns() pulumi.StringArrayOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm) []string { - return v.CertificateAuthorityArns - }).(pulumi.StringArrayOutput) +// Timeouts for gRPC listeners. +func (o VirtualNodeSpecListenerTimeoutOutput) Grpc() VirtualNodeSpecListenerTimeoutGrpcPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeout) *VirtualNodeSpecListenerTimeoutGrpc { return v.Grpc }).(VirtualNodeSpecListenerTimeoutGrpcPtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput struct{ *pulumi.OutputState } +// Timeouts for HTTP listeners. +func (o VirtualNodeSpecListenerTimeoutOutput) Http() VirtualNodeSpecListenerTimeoutHttpPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeout) *VirtualNodeSpecListenerTimeoutHttp { return v.Http }).(VirtualNodeSpecListenerTimeoutHttpPtrOutput) +} -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm)(nil)).Elem() +// Timeouts for HTTP2 listeners. +func (o VirtualNodeSpecListenerTimeoutOutput) Http2() VirtualNodeSpecListenerTimeoutHttp2PtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeout) *VirtualNodeSpecListenerTimeoutHttp2 { return v.Http2 }).(VirtualNodeSpecListenerTimeoutHttp2PtrOutput) } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { +// 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 VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { +func (o VirtualNodeSpecListenerTimeoutPtrOutput) ToVirtualNodeSpecListenerTimeoutPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutPtrOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm { - return *v - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) +func (o VirtualNodeSpecListenerTimeoutPtrOutput) Elem() VirtualNodeSpecListenerTimeoutOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeout) VirtualNodeSpecListenerTimeout { return *v }).(VirtualNodeSpecListenerTimeoutOutput) } -// One or more ACM Amazon Resource Name (ARN)s. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) CertificateAuthorityArns() pulumi.StringArrayOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm) []string { +// 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.CertificateAuthorityArns - }).(pulumi.StringArrayOutput) + return v.Tcp + }).(VirtualNodeSpecListenerTimeoutTcpPtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile struct { - // The certificate chain for the certificate. - CertificateChain string `pulumi:"certificateChain"` +type VirtualNodeSpecListenerTimeoutGrpc struct { + // The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + Idle *VirtualNodeSpecListenerTimeoutGrpcIdle `pulumi:"idle"` + // The per request timeout. + PerRequest *VirtualNodeSpecListenerTimeoutGrpcPerRequest `pulumi:"perRequest"` } -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileInput` via: +// VirtualNodeSpecListenerTimeoutGrpcInput is an input type that accepts VirtualNodeSpecListenerTimeoutGrpcArgs and VirtualNodeSpecListenerTimeoutGrpcOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutGrpcInput` via: // -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs{...} -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileInput interface { +// VirtualNodeSpecListenerTimeoutGrpcArgs{...} +type VirtualNodeSpecListenerTimeoutGrpcInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput + ToVirtualNodeSpecListenerTimeoutGrpcOutput() VirtualNodeSpecListenerTimeoutGrpcOutput + ToVirtualNodeSpecListenerTimeoutGrpcOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutGrpcOutput } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs struct { - // The certificate chain for the certificate. - CertificateChain pulumi.StringInput `pulumi:"certificateChain"` +type VirtualNodeSpecListenerTimeoutGrpcArgs struct { + // The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + Idle VirtualNodeSpecListenerTimeoutGrpcIdlePtrInput `pulumi:"idle"` + // The per request timeout. + PerRequest VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrInput `pulumi:"perRequest"` } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile)(nil)).Elem() +func (VirtualNodeSpecListenerTimeoutGrpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutGrpc)(nil)).Elem() } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutputWithContext(context.Background()) +func (i VirtualNodeSpecListenerTimeoutGrpcArgs) ToVirtualNodeSpecListenerTimeoutGrpcOutput() VirtualNodeSpecListenerTimeoutGrpcOutput { + return i.ToVirtualNodeSpecListenerTimeoutGrpcOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) +func (i VirtualNodeSpecListenerTimeoutGrpcArgs) ToVirtualNodeSpecListenerTimeoutGrpcOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutGrpcOutput) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecListenerTimeoutGrpcArgs) ToVirtualNodeSpecListenerTimeoutGrpcPtrOutput() VirtualNodeSpecListenerTimeoutGrpcPtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutGrpcPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx) +func (i VirtualNodeSpecListenerTimeoutGrpcArgs) ToVirtualNodeSpecListenerTimeoutGrpcPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutGrpcOutput).ToVirtualNodeSpecListenerTimeoutGrpcPtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs, VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtr and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrInput` via: +// VirtualNodeSpecListenerTimeoutGrpcPtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutGrpcArgs, VirtualNodeSpecListenerTimeoutGrpcPtr and VirtualNodeSpecListenerTimeoutGrpcPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutGrpcPtrInput` via: // -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs{...} +// VirtualNodeSpecListenerTimeoutGrpcArgs{...} // // or: // // nil -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrInput interface { +type VirtualNodeSpecListenerTimeoutGrpcPtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput + ToVirtualNodeSpecListenerTimeoutGrpcPtrOutput() VirtualNodeSpecListenerTimeoutGrpcPtrOutput + ToVirtualNodeSpecListenerTimeoutGrpcPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutGrpcPtrOutput } -type virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrType VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs +type virtualNodeSpecListenerTimeoutGrpcPtrType VirtualNodeSpecListenerTimeoutGrpcArgs -func VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtr(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrInput { - return (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrType)(v) +func VirtualNodeSpecListenerTimeoutGrpcPtr(v *VirtualNodeSpecListenerTimeoutGrpcArgs) VirtualNodeSpecListenerTimeoutGrpcPtrInput { + return (*virtualNodeSpecListenerTimeoutGrpcPtrType)(v) } -func (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile)(nil)).Elem() +func (*virtualNodeSpecListenerTimeoutGrpcPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutGrpc)(nil)).Elem() } -func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecListenerTimeoutGrpcPtrType) ToVirtualNodeSpecListenerTimeoutGrpcPtrOutput() VirtualNodeSpecListenerTimeoutGrpcPtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutGrpcPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) +func (i *virtualNodeSpecListenerTimeoutGrpcPtrType) ToVirtualNodeSpecListenerTimeoutGrpcPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutGrpcPtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecListenerTimeoutGrpcOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile)(nil)).Elem() +func (VirtualNodeSpecListenerTimeoutGrpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutGrpc)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput { +func (o VirtualNodeSpecListenerTimeoutGrpcOutput) ToVirtualNodeSpecListenerTimeoutGrpcOutput() VirtualNodeSpecListenerTimeoutGrpcOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput { +func (o VirtualNodeSpecListenerTimeoutGrpcOutput) ToVirtualNodeSpecListenerTimeoutGrpcOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { - return o.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecListenerTimeoutGrpcOutput) ToVirtualNodeSpecListenerTimeoutGrpcPtrOutput() VirtualNodeSpecListenerTimeoutGrpcPtrOutput { + return o.ToVirtualNodeSpecListenerTimeoutGrpcPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile { +func (o VirtualNodeSpecListenerTimeoutGrpcOutput) ToVirtualNodeSpecListenerTimeoutGrpcPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutGrpc) *VirtualNodeSpecListenerTimeoutGrpc { return &v - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) + }).(VirtualNodeSpecListenerTimeoutGrpcPtrOutput) } -// The certificate chain for the certificate. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) CertificateChain() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile) string { - return v.CertificateChain - }).(pulumi.StringOutput) +// The 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 VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput struct{ *pulumi.OutputState } +// The per request timeout. +func (o VirtualNodeSpecListenerTimeoutGrpcOutput) PerRequest() VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutGrpc) *VirtualNodeSpecListenerTimeoutGrpcPerRequest { + return v.PerRequest + }).(VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput) +} -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile)(nil)).Elem() +type VirtualNodeSpecListenerTimeoutGrpcPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTimeoutGrpcPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutGrpc)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { +func (o VirtualNodeSpecListenerTimeoutGrpcPtrOutput) ToVirtualNodeSpecListenerTimeoutGrpcPtrOutput() VirtualNodeSpecListenerTimeoutGrpcPtrOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { +func (o VirtualNodeSpecListenerTimeoutGrpcPtrOutput) ToVirtualNodeSpecListenerTimeoutGrpcPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcPtrOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile { - return *v - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) +func (o VirtualNodeSpecListenerTimeoutGrpcPtrOutput) Elem() VirtualNodeSpecListenerTimeoutGrpcOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutGrpc) VirtualNodeSpecListenerTimeoutGrpc { return *v }).(VirtualNodeSpecListenerTimeoutGrpcOutput) } -// The certificate chain for the certificate. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) CertificateChain() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile) *string { +// The 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.CertificateChain - }).(pulumi.StringPtrOutput) -} - -type VirtualNodeSpecBackendVirtualService struct { - // The client policy for the backend. - ClientPolicy *VirtualNodeSpecBackendVirtualServiceClientPolicy `pulumi:"clientPolicy"` - // The name of the virtual service that is acting as a virtual node backend. - 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 { - // The client policy for the backend. - ClientPolicy VirtualNodeSpecBackendVirtualServiceClientPolicyPtrInput `pulumi:"clientPolicy"` - // The name of the virtual service that is acting as a virtual node backend. - 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 -} - -func (o VirtualNodeSpecBackendVirtualServiceOutput) ToVirtualNodeSpecBackendVirtualServiceOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceOutput { - return o -} - -// The client policy for the backend. -func (o VirtualNodeSpecBackendVirtualServiceOutput) ClientPolicy() VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualService) *VirtualNodeSpecBackendVirtualServiceClientPolicy { - return v.ClientPolicy - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput) + return v.Idle + }).(VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput) } -// The name of the virtual service that is acting as a virtual node backend. -func (o VirtualNodeSpecBackendVirtualServiceOutput) VirtualServiceName() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualService) string { return v.VirtualServiceName }).(pulumi.StringOutput) +// The 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 VirtualNodeSpecBackendVirtualServiceClientPolicy struct { - // The Transport Layer Security (TLS) client policy. - Tls *VirtualNodeSpecBackendVirtualServiceClientPolicyTls `pulumi:"tls"` +type VirtualNodeSpecListenerTimeoutGrpcIdle struct { + // The unit of time. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // The number of time units. Minimum value of `0`. + Value int `pulumi:"value"` } -// VirtualNodeSpecBackendVirtualServiceClientPolicyInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyInput` via: +// VirtualNodeSpecListenerTimeoutGrpcIdleInput is an input type that accepts VirtualNodeSpecListenerTimeoutGrpcIdleArgs and VirtualNodeSpecListenerTimeoutGrpcIdleOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutGrpcIdleInput` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyArgs{...} -type VirtualNodeSpecBackendVirtualServiceClientPolicyInput interface { +// VirtualNodeSpecListenerTimeoutGrpcIdleArgs{...} +type VirtualNodeSpecListenerTimeoutGrpcIdleInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyOutput + ToVirtualNodeSpecListenerTimeoutGrpcIdleOutput() VirtualNodeSpecListenerTimeoutGrpcIdleOutput + ToVirtualNodeSpecListenerTimeoutGrpcIdleOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutGrpcIdleOutput } -type VirtualNodeSpecBackendVirtualServiceClientPolicyArgs struct { - // The Transport Layer Security (TLS) client policy. - Tls VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrInput `pulumi:"tls"` +type VirtualNodeSpecListenerTimeoutGrpcIdleArgs struct { + // The unit of time. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // The number of time units. Minimum value of `0`. + Value pulumi.IntInput `pulumi:"value"` } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicy)(nil)).Elem() +func (VirtualNodeSpecListenerTimeoutGrpcIdleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutGrpcIdle)(nil)).Elem() } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyOutputWithContext(context.Background()) +func (i VirtualNodeSpecListenerTimeoutGrpcIdleArgs) ToVirtualNodeSpecListenerTimeoutGrpcIdleOutput() VirtualNodeSpecListenerTimeoutGrpcIdleOutput { + return i.ToVirtualNodeSpecListenerTimeoutGrpcIdleOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyOutput) +func (i VirtualNodeSpecListenerTimeoutGrpcIdleArgs) ToVirtualNodeSpecListenerTimeoutGrpcIdleOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcIdleOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutGrpcIdleOutput) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecListenerTimeoutGrpcIdleArgs) ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput() VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(ctx) +func (i VirtualNodeSpecListenerTimeoutGrpcIdleArgs) ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutGrpcIdleOutput).ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendVirtualServiceClientPolicyPtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyPtr and VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyPtrInput` via: +// VirtualNodeSpecListenerTimeoutGrpcIdlePtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutGrpcIdleArgs, VirtualNodeSpecListenerTimeoutGrpcIdlePtr and VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutGrpcIdlePtrInput` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyArgs{...} +// VirtualNodeSpecListenerTimeoutGrpcIdleArgs{...} // // or: // // nil -type VirtualNodeSpecBackendVirtualServiceClientPolicyPtrInput interface { +type VirtualNodeSpecListenerTimeoutGrpcIdlePtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput + ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput() VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput + ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput } -type virtualNodeSpecBackendVirtualServiceClientPolicyPtrType VirtualNodeSpecBackendVirtualServiceClientPolicyArgs +type virtualNodeSpecListenerTimeoutGrpcIdlePtrType VirtualNodeSpecListenerTimeoutGrpcIdleArgs -func VirtualNodeSpecBackendVirtualServiceClientPolicyPtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyPtrInput { - return (*virtualNodeSpecBackendVirtualServiceClientPolicyPtrType)(v) +func VirtualNodeSpecListenerTimeoutGrpcIdlePtr(v *VirtualNodeSpecListenerTimeoutGrpcIdleArgs) VirtualNodeSpecListenerTimeoutGrpcIdlePtrInput { + return (*virtualNodeSpecListenerTimeoutGrpcIdlePtrType)(v) } -func (*virtualNodeSpecBackendVirtualServiceClientPolicyPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicy)(nil)).Elem() +func (*virtualNodeSpecListenerTimeoutGrpcIdlePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutGrpcIdle)(nil)).Elem() } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecListenerTimeoutGrpcIdlePtrType) ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput() VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput) +func (i *virtualNodeSpecListenerTimeoutGrpcIdlePtrType) ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecListenerTimeoutGrpcIdleOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicy)(nil)).Elem() +func (VirtualNodeSpecListenerTimeoutGrpcIdleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutGrpcIdle)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyOutput { +func (o VirtualNodeSpecListenerTimeoutGrpcIdleOutput) ToVirtualNodeSpecListenerTimeoutGrpcIdleOutput() VirtualNodeSpecListenerTimeoutGrpcIdleOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyOutput { +func (o VirtualNodeSpecListenerTimeoutGrpcIdleOutput) ToVirtualNodeSpecListenerTimeoutGrpcIdleOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcIdleOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { - return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecListenerTimeoutGrpcIdleOutput) ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput() VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput { + return o.ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicy) *VirtualNodeSpecBackendVirtualServiceClientPolicy { +func (o VirtualNodeSpecListenerTimeoutGrpcIdleOutput) ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutGrpcIdle) *VirtualNodeSpecListenerTimeoutGrpcIdle { return &v - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput) + }).(VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput) } -// The Transport Layer Security (TLS) client policy. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyOutput) Tls() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicy) *VirtualNodeSpecBackendVirtualServiceClientPolicyTls { - return v.Tls - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) +// The 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) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput struct{ *pulumi.OutputState } +// The 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 (VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicy)(nil)).Elem() +type VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutGrpcIdle)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { +func (o VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput) ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput() VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { +func (o VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput) ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicy) VirtualNodeSpecBackendVirtualServiceClientPolicy { - return *v - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyOutput) +func (o VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput) Elem() VirtualNodeSpecListenerTimeoutGrpcIdleOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutGrpcIdle) VirtualNodeSpecListenerTimeoutGrpcIdle { return *v }).(VirtualNodeSpecListenerTimeoutGrpcIdleOutput) } -// The Transport Layer Security (TLS) client policy. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput) Tls() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicy) *VirtualNodeSpecBackendVirtualServiceClientPolicyTls { +// The 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.Tls - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) + return &v.Unit + }).(pulumi.StringPtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTls struct { - Enforce *bool `pulumi:"enforce"` - // One or more ports that the policy is enforced for. - Ports []int `pulumi:"ports"` - // The TLS validation context. - Validation VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation `pulumi:"validation"` +// The 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) } -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsInput` via: +type VirtualNodeSpecListenerTimeoutGrpcPerRequest struct { + // The unit of time. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // The number of time units. Minimum value of `0`. + Value int `pulumi:"value"` +} + +// VirtualNodeSpecListenerTimeoutGrpcPerRequestInput is an input type that accepts VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs and VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutGrpcPerRequestInput` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs{...} -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsInput interface { +// VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs{...} +type VirtualNodeSpecListenerTimeoutGrpcPerRequestInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput + ToVirtualNodeSpecListenerTimeoutGrpcPerRequestOutput() VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput + ToVirtualNodeSpecListenerTimeoutGrpcPerRequestOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs struct { - Enforce pulumi.BoolPtrInput `pulumi:"enforce"` - // One or more ports that the policy is enforced for. - Ports pulumi.IntArrayInput `pulumi:"ports"` - // The TLS validation context. - Validation VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationInput `pulumi:"validation"` +type VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs struct { + // The unit of time. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // The number of time units. Minimum value of `0`. + Value pulumi.IntInput `pulumi:"value"` } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTls)(nil)).Elem() +func (VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutGrpcPerRequest)(nil)).Elem() } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutputWithContext(context.Background()) +func (i VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestOutput() VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput { + return i.ToVirtualNodeSpecListenerTimeoutGrpcPerRequestOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) +func (i VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput() VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(ctx) +func (i VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput).ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtr and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrInput` via: +// VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs, VirtualNodeSpecListenerTimeoutGrpcPerRequestPtr and VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrInput` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs{...} +// VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs{...} // // or: // // nil -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrInput interface { +type VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrInput interface { pulumi.Input - - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput + + ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput() VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput + ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput } -type virtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrType VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs +type virtualNodeSpecListenerTimeoutGrpcPerRequestPtrType VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs -func VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrInput { - return (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrType)(v) +func VirtualNodeSpecListenerTimeoutGrpcPerRequestPtr(v *VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs) VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrInput { + return (*virtualNodeSpecListenerTimeoutGrpcPerRequestPtrType)(v) } -func (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTls)(nil)).Elem() +func (*virtualNodeSpecListenerTimeoutGrpcPerRequestPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutGrpcPerRequest)(nil)).Elem() } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecListenerTimeoutGrpcPerRequestPtrType) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput() VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) +func (i *virtualNodeSpecListenerTimeoutGrpcPerRequestPtrType) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTls)(nil)).Elem() +func (VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutGrpcPerRequest)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput { +func (o VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestOutput() VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput { +func (o VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { - return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput() VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput { + return o.ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTls) *VirtualNodeSpecBackendVirtualServiceClientPolicyTls { +func (o VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutGrpcPerRequest) *VirtualNodeSpecListenerTimeoutGrpcPerRequest { return &v - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) -} -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) Enforce() pulumi.BoolPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTls) *bool { return v.Enforce }).(pulumi.BoolPtrOutput) + }).(VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput) } -// 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) +// The 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 TLS validation context. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) Validation() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTls) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation { - return v.Validation - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) +// The number of time units. Minimum value of `0`. +func (o VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutGrpcPerRequest) int { return v.Value }).(pulumi.IntOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTls)(nil)).Elem() +func (VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutGrpcPerRequest)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { +func (o VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput() VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { +func (o VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTls) VirtualNodeSpecBackendVirtualServiceClientPolicyTls { +func (o VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput) Elem() VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutGrpcPerRequest) VirtualNodeSpecListenerTimeoutGrpcPerRequest { return *v - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) -} - -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) Enforce() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTls) *bool { - if v == nil { - return nil - } - return v.Enforce - }).(pulumi.BoolPtrOutput) + }).(VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput) } -// One or more ports that the policy is enforced for. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) Ports() pulumi.IntArrayOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTls) []int { +// The 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.Ports - }).(pulumi.IntArrayOutput) + return &v.Unit + }).(pulumi.StringPtrOutput) } -// The TLS validation context. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) Validation() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTls) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation { +// The number of time units. Minimum value of `0`. +func (o VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutGrpcPerRequest) *int { if v == nil { return nil } - return &v.Validation - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput) + return &v.Value + }).(pulumi.IntPtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation struct { - // The TLS validation context trust. - Trust VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust `pulumi:"trust"` +type VirtualNodeSpecListenerTimeoutHttp2 struct { + // The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + Idle *VirtualNodeSpecListenerTimeoutHttp2Idle `pulumi:"idle"` + // The per request timeout. + PerRequest *VirtualNodeSpecListenerTimeoutHttp2PerRequest `pulumi:"perRequest"` } -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationInput` via: +// VirtualNodeSpecListenerTimeoutHttp2Input is an input type that accepts VirtualNodeSpecListenerTimeoutHttp2Args and VirtualNodeSpecListenerTimeoutHttp2Output values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutHttp2Input` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs{...} -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationInput interface { +// VirtualNodeSpecListenerTimeoutHttp2Args{...} +type VirtualNodeSpecListenerTimeoutHttp2Input interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput + ToVirtualNodeSpecListenerTimeoutHttp2Output() VirtualNodeSpecListenerTimeoutHttp2Output + ToVirtualNodeSpecListenerTimeoutHttp2OutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttp2Output } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs struct { - // The TLS validation context trust. - Trust VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustInput `pulumi:"trust"` +type VirtualNodeSpecListenerTimeoutHttp2Args struct { + // The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + Idle VirtualNodeSpecListenerTimeoutHttp2IdlePtrInput `pulumi:"idle"` + // The per request timeout. + PerRequest VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrInput `pulumi:"perRequest"` } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation)(nil)).Elem() +func (VirtualNodeSpecListenerTimeoutHttp2Args) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttp2)(nil)).Elem() } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutputWithContext(context.Background()) +func (i VirtualNodeSpecListenerTimeoutHttp2Args) ToVirtualNodeSpecListenerTimeoutHttp2Output() VirtualNodeSpecListenerTimeoutHttp2Output { + return i.ToVirtualNodeSpecListenerTimeoutHttp2OutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) +func (i VirtualNodeSpecListenerTimeoutHttp2Args) ToVirtualNodeSpecListenerTimeoutHttp2OutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2Output { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttp2Output) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecListenerTimeoutHttp2Args) ToVirtualNodeSpecListenerTimeoutHttp2PtrOutput() VirtualNodeSpecListenerTimeoutHttp2PtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttp2PtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(ctx) +func (i VirtualNodeSpecListenerTimeoutHttp2Args) ToVirtualNodeSpecListenerTimeoutHttp2PtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttp2Output).ToVirtualNodeSpecListenerTimeoutHttp2PtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtr and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrInput` via: +// VirtualNodeSpecListenerTimeoutHttp2PtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutHttp2Args, VirtualNodeSpecListenerTimeoutHttp2Ptr and VirtualNodeSpecListenerTimeoutHttp2PtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutHttp2PtrInput` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs{...} +// VirtualNodeSpecListenerTimeoutHttp2Args{...} // // or: // // nil -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrInput interface { +type VirtualNodeSpecListenerTimeoutHttp2PtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput + ToVirtualNodeSpecListenerTimeoutHttp2PtrOutput() VirtualNodeSpecListenerTimeoutHttp2PtrOutput + ToVirtualNodeSpecListenerTimeoutHttp2PtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttp2PtrOutput } -type virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrType VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs +type virtualNodeSpecListenerTimeoutHttp2PtrType VirtualNodeSpecListenerTimeoutHttp2Args -func VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrInput { - return (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrType)(v) +func VirtualNodeSpecListenerTimeoutHttp2Ptr(v *VirtualNodeSpecListenerTimeoutHttp2Args) VirtualNodeSpecListenerTimeoutHttp2PtrInput { + return (*virtualNodeSpecListenerTimeoutHttp2PtrType)(v) } -func (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation)(nil)).Elem() +func (*virtualNodeSpecListenerTimeoutHttp2PtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttp2)(nil)).Elem() } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecListenerTimeoutHttp2PtrType) ToVirtualNodeSpecListenerTimeoutHttp2PtrOutput() VirtualNodeSpecListenerTimeoutHttp2PtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttp2PtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput) +func (i *virtualNodeSpecListenerTimeoutHttp2PtrType) ToVirtualNodeSpecListenerTimeoutHttp2PtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttp2PtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecListenerTimeoutHttp2Output struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation)(nil)).Elem() +func (VirtualNodeSpecListenerTimeoutHttp2Output) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttp2)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput { +func (o VirtualNodeSpecListenerTimeoutHttp2Output) ToVirtualNodeSpecListenerTimeoutHttp2Output() VirtualNodeSpecListenerTimeoutHttp2Output { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput { +func (o VirtualNodeSpecListenerTimeoutHttp2Output) ToVirtualNodeSpecListenerTimeoutHttp2OutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2Output { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { - return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecListenerTimeoutHttp2Output) ToVirtualNodeSpecListenerTimeoutHttp2PtrOutput() VirtualNodeSpecListenerTimeoutHttp2PtrOutput { + return o.ToVirtualNodeSpecListenerTimeoutHttp2PtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation { +func (o VirtualNodeSpecListenerTimeoutHttp2Output) ToVirtualNodeSpecListenerTimeoutHttp2PtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2PtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttp2) *VirtualNodeSpecListenerTimeoutHttp2 { return &v - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput) + }).(VirtualNodeSpecListenerTimeoutHttp2PtrOutput) } -// The TLS validation context trust. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) Trust() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust { - return v.Trust - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) +// The 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) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput struct{ *pulumi.OutputState } +// The per request timeout. +func (o VirtualNodeSpecListenerTimeoutHttp2Output) PerRequest() VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttp2) *VirtualNodeSpecListenerTimeoutHttp2PerRequest { + return v.PerRequest + }).(VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput) +} -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation)(nil)).Elem() +type VirtualNodeSpecListenerTimeoutHttp2PtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTimeoutHttp2PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttp2)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { +func (o VirtualNodeSpecListenerTimeoutHttp2PtrOutput) ToVirtualNodeSpecListenerTimeoutHttp2PtrOutput() VirtualNodeSpecListenerTimeoutHttp2PtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { +func (o VirtualNodeSpecListenerTimeoutHttp2PtrOutput) ToVirtualNodeSpecListenerTimeoutHttp2PtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2PtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation { - return *v - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) +func (o VirtualNodeSpecListenerTimeoutHttp2PtrOutput) Elem() VirtualNodeSpecListenerTimeoutHttp2Output { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttp2) VirtualNodeSpecListenerTimeoutHttp2 { return *v }).(VirtualNodeSpecListenerTimeoutHttp2Output) } -// The TLS validation context trust. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput) Trust() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust { +// The 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.Trust - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) + return v.Idle + }).(VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust struct { - // The TLS validation context trust for an AWS Certicate Manager (ACM) certificate. - Acm *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm `pulumi:"acm"` - // The TLS validation context trust for a local file. - File *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile `pulumi:"file"` +// The per request timeout. +func (o VirtualNodeSpecListenerTimeoutHttp2PtrOutput) PerRequest() VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttp2) *VirtualNodeSpecListenerTimeoutHttp2PerRequest { + if v == nil { + return nil + } + return v.PerRequest + }).(VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput) } -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustInput` via: +type VirtualNodeSpecListenerTimeoutHttp2Idle struct { + // The unit of time. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // The 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: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs{...} -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustInput interface { +// VirtualNodeSpecListenerTimeoutHttp2IdleArgs{...} +type VirtualNodeSpecListenerTimeoutHttp2IdleInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput + ToVirtualNodeSpecListenerTimeoutHttp2IdleOutput() VirtualNodeSpecListenerTimeoutHttp2IdleOutput + ToVirtualNodeSpecListenerTimeoutHttp2IdleOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttp2IdleOutput } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs struct { - // The TLS validation context trust for an AWS Certicate Manager (ACM) certificate. - Acm VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrInput `pulumi:"acm"` - // The TLS validation context trust for a local file. - File VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrInput `pulumi:"file"` +type VirtualNodeSpecListenerTimeoutHttp2IdleArgs struct { + // The unit of time. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // The number of time units. Minimum value of `0`. + Value pulumi.IntInput `pulumi:"value"` } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust)(nil)).Elem() +func (VirtualNodeSpecListenerTimeoutHttp2IdleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttp2Idle)(nil)).Elem() } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutputWithContext(context.Background()) +func (i VirtualNodeSpecListenerTimeoutHttp2IdleArgs) ToVirtualNodeSpecListenerTimeoutHttp2IdleOutput() VirtualNodeSpecListenerTimeoutHttp2IdleOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttp2IdleOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) +func (i VirtualNodeSpecListenerTimeoutHttp2IdleArgs) ToVirtualNodeSpecListenerTimeoutHttp2IdleOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2IdleOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttp2IdleOutput) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecListenerTimeoutHttp2IdleArgs) ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput() VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(ctx) +func (i VirtualNodeSpecListenerTimeoutHttp2IdleArgs) ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttp2IdleOutput).ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtr and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrInput` via: +// VirtualNodeSpecListenerTimeoutHttp2IdlePtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutHttp2IdleArgs, VirtualNodeSpecListenerTimeoutHttp2IdlePtr and VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutHttp2IdlePtrInput` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs{...} +// VirtualNodeSpecListenerTimeoutHttp2IdleArgs{...} // // or: // // nil -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrInput interface { +type VirtualNodeSpecListenerTimeoutHttp2IdlePtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput + ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput() VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput + ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput } -type virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrType VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs +type virtualNodeSpecListenerTimeoutHttp2IdlePtrType VirtualNodeSpecListenerTimeoutHttp2IdleArgs -func VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrInput { - return (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrType)(v) +func VirtualNodeSpecListenerTimeoutHttp2IdlePtr(v *VirtualNodeSpecListenerTimeoutHttp2IdleArgs) VirtualNodeSpecListenerTimeoutHttp2IdlePtrInput { + return (*virtualNodeSpecListenerTimeoutHttp2IdlePtrType)(v) } -func (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust)(nil)).Elem() +func (*virtualNodeSpecListenerTimeoutHttp2IdlePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttp2Idle)(nil)).Elem() } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecListenerTimeoutHttp2IdlePtrType) ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput() VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) +func (i *virtualNodeSpecListenerTimeoutHttp2IdlePtrType) ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecListenerTimeoutHttp2IdleOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust)(nil)).Elem() +func (VirtualNodeSpecListenerTimeoutHttp2IdleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttp2Idle)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput { +func (o VirtualNodeSpecListenerTimeoutHttp2IdleOutput) ToVirtualNodeSpecListenerTimeoutHttp2IdleOutput() VirtualNodeSpecListenerTimeoutHttp2IdleOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput { +func (o VirtualNodeSpecListenerTimeoutHttp2IdleOutput) ToVirtualNodeSpecListenerTimeoutHttp2IdleOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2IdleOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { - return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecListenerTimeoutHttp2IdleOutput) ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput() VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput { + return o.ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust { +func (o VirtualNodeSpecListenerTimeoutHttp2IdleOutput) ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttp2Idle) *VirtualNodeSpecListenerTimeoutHttp2Idle { return &v - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) + }).(VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput) } -// The TLS validation context trust for an AWS Certicate Manager (ACM) certificate. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) Acm() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm { - return v.Acm - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) +// The 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) } -// The TLS validation context trust for a local file. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) File() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile { - return v.File - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) +// The 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 VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust)(nil)).Elem() +func (VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttp2Idle)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { +func (o VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput) ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput() VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { +func (o VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput) ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust { - return *v - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) +func (o VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput) Elem() VirtualNodeSpecListenerTimeoutHttp2IdleOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttp2Idle) VirtualNodeSpecListenerTimeoutHttp2Idle { return *v }).(VirtualNodeSpecListenerTimeoutHttp2IdleOutput) } -// The TLS validation context trust for an AWS Certicate Manager (ACM) certificate. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) Acm() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm { +// The 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.Acm - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) + return &v.Unit + }).(pulumi.StringPtrOutput) } -// The TLS validation context trust for a local file. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) File() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile { +// The 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.File - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) + return &v.Value + }).(pulumi.IntPtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm struct { - // One or more ACM Amazon Resource Name (ARN)s. - CertificateAuthorityArns []string `pulumi:"certificateAuthorityArns"` +type VirtualNodeSpecListenerTimeoutHttp2PerRequest struct { + // The unit of time. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // The number of time units. Minimum value of `0`. + Value int `pulumi:"value"` } -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmInput` via: +// VirtualNodeSpecListenerTimeoutHttp2PerRequestInput is an input type that accepts VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs and VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutHttp2PerRequestInput` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs{...} -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmInput interface { +// VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs{...} +type VirtualNodeSpecListenerTimeoutHttp2PerRequestInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput + ToVirtualNodeSpecListenerTimeoutHttp2PerRequestOutput() VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput + ToVirtualNodeSpecListenerTimeoutHttp2PerRequestOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs struct { - // One or more ACM Amazon Resource Name (ARN)s. - CertificateAuthorityArns pulumi.StringArrayInput `pulumi:"certificateAuthorityArns"` +type VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs struct { + // The unit of time. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // The number of time units. Minimum value of `0`. + Value pulumi.IntInput `pulumi:"value"` } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm)(nil)).Elem() +func (VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttp2PerRequest)(nil)).Elem() } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutputWithContext(context.Background()) +func (i VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestOutput() VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttp2PerRequestOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput) +func (i VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput() VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx) +func (i VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput).ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtr and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrInput` via: +// VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs, VirtualNodeSpecListenerTimeoutHttp2PerRequestPtr and VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrInput` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs{...} +// VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs{...} // // or: // // nil -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrInput interface { +type VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput + ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput() VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput + ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput } -type virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrType VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs +type virtualNodeSpecListenerTimeoutHttp2PerRequestPtrType VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs -func VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrInput { - return (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrType)(v) +func VirtualNodeSpecListenerTimeoutHttp2PerRequestPtr(v *VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs) VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrInput { + return (*virtualNodeSpecListenerTimeoutHttp2PerRequestPtrType)(v) } -func (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm)(nil)).Elem() +func (*virtualNodeSpecListenerTimeoutHttp2PerRequestPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttp2PerRequest)(nil)).Elem() } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecListenerTimeoutHttp2PerRequestPtrType) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput() VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) +func (i *virtualNodeSpecListenerTimeoutHttp2PerRequestPtrType) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm)(nil)).Elem() +func (VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttp2PerRequest)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput { +func (o VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestOutput() VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput { +func (o VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { - return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput() VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput { + return o.ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm { +func (o VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttp2PerRequest) *VirtualNodeSpecListenerTimeoutHttp2PerRequest { return &v - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) + }).(VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput) } -// One or more ACM Amazon Resource Name (ARN)s. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput) CertificateAuthorityArns() pulumi.StringArrayOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm) []string { - return v.CertificateAuthorityArns - }).(pulumi.StringArrayOutput) +// The 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 VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput struct{ *pulumi.OutputState } +// The number of time units. Minimum value of `0`. +func (o VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttp2PerRequest) int { return v.Value }).(pulumi.IntOutput) +} -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm)(nil)).Elem() +type VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttp2PerRequest)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { +func (o VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput() VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { +func (o VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm { +func (o VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput) Elem() VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttp2PerRequest) VirtualNodeSpecListenerTimeoutHttp2PerRequest { return *v - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput) + }).(VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput) } -// One or more ACM Amazon Resource Name (ARN)s. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) CertificateAuthorityArns() pulumi.StringArrayOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm) []string { +// The 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.CertificateAuthorityArns - }).(pulumi.StringArrayOutput) + return &v.Unit + }).(pulumi.StringPtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile struct { - // The certificate chain for the certificate. - CertificateChain string `pulumi:"certificateChain"` +// The number of time units. Minimum value of `0`. +func (o VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttp2PerRequest) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) } -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileInput` via: +type VirtualNodeSpecListenerTimeoutHttp struct { + // The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + Idle *VirtualNodeSpecListenerTimeoutHttpIdle `pulumi:"idle"` + // The 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: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs{...} -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileInput interface { +// VirtualNodeSpecListenerTimeoutHttpArgs{...} +type VirtualNodeSpecListenerTimeoutHttpInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput + ToVirtualNodeSpecListenerTimeoutHttpOutput() VirtualNodeSpecListenerTimeoutHttpOutput + ToVirtualNodeSpecListenerTimeoutHttpOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttpOutput } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs struct { - // The certificate chain for the certificate. - CertificateChain pulumi.StringInput `pulumi:"certificateChain"` +type VirtualNodeSpecListenerTimeoutHttpArgs struct { + // The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + Idle VirtualNodeSpecListenerTimeoutHttpIdlePtrInput `pulumi:"idle"` + // The per request timeout. + PerRequest VirtualNodeSpecListenerTimeoutHttpPerRequestPtrInput `pulumi:"perRequest"` } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile)(nil)).Elem() +func (VirtualNodeSpecListenerTimeoutHttpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttp)(nil)).Elem() } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutputWithContext(context.Background()) +func (i VirtualNodeSpecListenerTimeoutHttpArgs) ToVirtualNodeSpecListenerTimeoutHttpOutput() VirtualNodeSpecListenerTimeoutHttpOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttpOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput) +func (i VirtualNodeSpecListenerTimeoutHttpArgs) ToVirtualNodeSpecListenerTimeoutHttpOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttpOutput) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecListenerTimeoutHttpArgs) ToVirtualNodeSpecListenerTimeoutHttpPtrOutput() VirtualNodeSpecListenerTimeoutHttpPtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttpPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx) +func (i VirtualNodeSpecListenerTimeoutHttpArgs) ToVirtualNodeSpecListenerTimeoutHttpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttpOutput).ToVirtualNodeSpecListenerTimeoutHttpPtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtr and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrInput` via: +// VirtualNodeSpecListenerTimeoutHttpPtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutHttpArgs, VirtualNodeSpecListenerTimeoutHttpPtr and VirtualNodeSpecListenerTimeoutHttpPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutHttpPtrInput` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs{...} +// VirtualNodeSpecListenerTimeoutHttpArgs{...} // // or: // // nil -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrInput interface { +type VirtualNodeSpecListenerTimeoutHttpPtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput + ToVirtualNodeSpecListenerTimeoutHttpPtrOutput() VirtualNodeSpecListenerTimeoutHttpPtrOutput + ToVirtualNodeSpecListenerTimeoutHttpPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttpPtrOutput } -type virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrType VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs +type virtualNodeSpecListenerTimeoutHttpPtrType VirtualNodeSpecListenerTimeoutHttpArgs -func VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrInput { - return (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrType)(v) +func VirtualNodeSpecListenerTimeoutHttpPtr(v *VirtualNodeSpecListenerTimeoutHttpArgs) VirtualNodeSpecListenerTimeoutHttpPtrInput { + return (*virtualNodeSpecListenerTimeoutHttpPtrType)(v) } -func (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile)(nil)).Elem() +func (*virtualNodeSpecListenerTimeoutHttpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttp)(nil)).Elem() } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecListenerTimeoutHttpPtrType) ToVirtualNodeSpecListenerTimeoutHttpPtrOutput() VirtualNodeSpecListenerTimeoutHttpPtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttpPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) +func (i *virtualNodeSpecListenerTimeoutHttpPtrType) ToVirtualNodeSpecListenerTimeoutHttpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttpPtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecListenerTimeoutHttpOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile)(nil)).Elem() +func (VirtualNodeSpecListenerTimeoutHttpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttp)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput { +func (o VirtualNodeSpecListenerTimeoutHttpOutput) ToVirtualNodeSpecListenerTimeoutHttpOutput() VirtualNodeSpecListenerTimeoutHttpOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput { +func (o VirtualNodeSpecListenerTimeoutHttpOutput) ToVirtualNodeSpecListenerTimeoutHttpOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { - return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecListenerTimeoutHttpOutput) ToVirtualNodeSpecListenerTimeoutHttpPtrOutput() VirtualNodeSpecListenerTimeoutHttpPtrOutput { + return o.ToVirtualNodeSpecListenerTimeoutHttpPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile { +func (o VirtualNodeSpecListenerTimeoutHttpOutput) ToVirtualNodeSpecListenerTimeoutHttpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttp) *VirtualNodeSpecListenerTimeoutHttp { return &v - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) + }).(VirtualNodeSpecListenerTimeoutHttpPtrOutput) } -// The certificate chain for the certificate. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput) CertificateChain() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile) string { - return v.CertificateChain - }).(pulumi.StringOutput) +// The 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) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput struct{ *pulumi.OutputState } +// The per request timeout. +func (o VirtualNodeSpecListenerTimeoutHttpOutput) PerRequest() VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttp) *VirtualNodeSpecListenerTimeoutHttpPerRequest { + return v.PerRequest + }).(VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput) +} -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile)(nil)).Elem() +type VirtualNodeSpecListenerTimeoutHttpPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTimeoutHttpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttp)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { +func (o VirtualNodeSpecListenerTimeoutHttpPtrOutput) ToVirtualNodeSpecListenerTimeoutHttpPtrOutput() VirtualNodeSpecListenerTimeoutHttpPtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { +func (o VirtualNodeSpecListenerTimeoutHttpPtrOutput) ToVirtualNodeSpecListenerTimeoutHttpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpPtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile { - return *v - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput) +func (o VirtualNodeSpecListenerTimeoutHttpPtrOutput) Elem() VirtualNodeSpecListenerTimeoutHttpOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttp) VirtualNodeSpecListenerTimeoutHttp { return *v }).(VirtualNodeSpecListenerTimeoutHttpOutput) } -// The certificate chain for the certificate. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) CertificateChain() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile) *string { +// The 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.CertificateChain - }).(pulumi.StringPtrOutput) + return v.Idle + }).(VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput) } -type VirtualNodeSpecListener struct { - // The health check information for the listener. - HealthCheck *VirtualNodeSpecListenerHealthCheck `pulumi:"healthCheck"` - // The port mapping information for the listener. - PortMapping VirtualNodeSpecListenerPortMapping `pulumi:"portMapping"` - // The Transport Layer Security (TLS) properties for the listener - Tls *VirtualNodeSpecListenerTls `pulumi:"tls"` +// The per request timeout. +func (o VirtualNodeSpecListenerTimeoutHttpPtrOutput) PerRequest() VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttp) *VirtualNodeSpecListenerTimeoutHttpPerRequest { + if v == nil { + return nil + } + return v.PerRequest + }).(VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput) } -// VirtualNodeSpecListenerInput is an input type that accepts VirtualNodeSpecListenerArgs and VirtualNodeSpecListenerOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerInput` via: +type VirtualNodeSpecListenerTimeoutHttpIdle struct { + // The unit of time. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // The 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: // -// VirtualNodeSpecListenerArgs{...} -type VirtualNodeSpecListenerInput interface { +// VirtualNodeSpecListenerTimeoutHttpIdleArgs{...} +type VirtualNodeSpecListenerTimeoutHttpIdleInput interface { pulumi.Input - ToVirtualNodeSpecListenerOutput() VirtualNodeSpecListenerOutput - ToVirtualNodeSpecListenerOutputWithContext(context.Context) VirtualNodeSpecListenerOutput + ToVirtualNodeSpecListenerTimeoutHttpIdleOutput() VirtualNodeSpecListenerTimeoutHttpIdleOutput + ToVirtualNodeSpecListenerTimeoutHttpIdleOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttpIdleOutput } -type VirtualNodeSpecListenerArgs struct { - // The health check information for the listener. - HealthCheck VirtualNodeSpecListenerHealthCheckPtrInput `pulumi:"healthCheck"` - // The port mapping information for the listener. - PortMapping VirtualNodeSpecListenerPortMappingInput `pulumi:"portMapping"` - // The Transport Layer Security (TLS) properties for the listener - Tls VirtualNodeSpecListenerTlsPtrInput `pulumi:"tls"` +type VirtualNodeSpecListenerTimeoutHttpIdleArgs struct { + // The unit of time. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // The number of time units. Minimum value of `0`. + Value pulumi.IntInput `pulumi:"value"` } -func (VirtualNodeSpecListenerArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListener)(nil)).Elem() +func (VirtualNodeSpecListenerTimeoutHttpIdleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttpIdle)(nil)).Elem() } -func (i VirtualNodeSpecListenerArgs) ToVirtualNodeSpecListenerOutput() VirtualNodeSpecListenerOutput { - return i.ToVirtualNodeSpecListenerOutputWithContext(context.Background()) +func (i VirtualNodeSpecListenerTimeoutHttpIdleArgs) ToVirtualNodeSpecListenerTimeoutHttpIdleOutput() VirtualNodeSpecListenerTimeoutHttpIdleOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttpIdleOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerArgs) ToVirtualNodeSpecListenerOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerOutput) +func (i VirtualNodeSpecListenerTimeoutHttpIdleArgs) ToVirtualNodeSpecListenerTimeoutHttpIdleOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpIdleOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttpIdleOutput) } -func (i VirtualNodeSpecListenerArgs) ToVirtualNodeSpecListenerPtrOutput() VirtualNodeSpecListenerPtrOutput { - return i.ToVirtualNodeSpecListenerPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecListenerTimeoutHttpIdleArgs) ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutput() VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerArgs) ToVirtualNodeSpecListenerPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerOutput).ToVirtualNodeSpecListenerPtrOutputWithContext(ctx) +func (i VirtualNodeSpecListenerTimeoutHttpIdleArgs) ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttpIdleOutput).ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutputWithContext(ctx) } -// VirtualNodeSpecListenerPtrInput is an input type that accepts VirtualNodeSpecListenerArgs, VirtualNodeSpecListenerPtr and VirtualNodeSpecListenerPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerPtrInput` via: +// VirtualNodeSpecListenerTimeoutHttpIdlePtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutHttpIdleArgs, VirtualNodeSpecListenerTimeoutHttpIdlePtr and VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutHttpIdlePtrInput` via: // -// VirtualNodeSpecListenerArgs{...} +// VirtualNodeSpecListenerTimeoutHttpIdleArgs{...} // // or: // // nil -type VirtualNodeSpecListenerPtrInput interface { +type VirtualNodeSpecListenerTimeoutHttpIdlePtrInput interface { pulumi.Input - ToVirtualNodeSpecListenerPtrOutput() VirtualNodeSpecListenerPtrOutput - ToVirtualNodeSpecListenerPtrOutputWithContext(context.Context) VirtualNodeSpecListenerPtrOutput + ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutput() VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput + ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput } -type virtualNodeSpecListenerPtrType VirtualNodeSpecListenerArgs +type virtualNodeSpecListenerTimeoutHttpIdlePtrType VirtualNodeSpecListenerTimeoutHttpIdleArgs -func VirtualNodeSpecListenerPtr(v *VirtualNodeSpecListenerArgs) VirtualNodeSpecListenerPtrInput { - return (*virtualNodeSpecListenerPtrType)(v) +func VirtualNodeSpecListenerTimeoutHttpIdlePtr(v *VirtualNodeSpecListenerTimeoutHttpIdleArgs) VirtualNodeSpecListenerTimeoutHttpIdlePtrInput { + return (*virtualNodeSpecListenerTimeoutHttpIdlePtrType)(v) } -func (*virtualNodeSpecListenerPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListener)(nil)).Elem() +func (*virtualNodeSpecListenerTimeoutHttpIdlePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttpIdle)(nil)).Elem() } -func (i *virtualNodeSpecListenerPtrType) ToVirtualNodeSpecListenerPtrOutput() VirtualNodeSpecListenerPtrOutput { - return i.ToVirtualNodeSpecListenerPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecListenerTimeoutHttpIdlePtrType) ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutput() VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecListenerPtrType) ToVirtualNodeSpecListenerPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerPtrOutput) +func (i *virtualNodeSpecListenerTimeoutHttpIdlePtrType) ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput) } -type VirtualNodeSpecListenerOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecListenerTimeoutHttpIdleOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListener)(nil)).Elem() +func (VirtualNodeSpecListenerTimeoutHttpIdleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttpIdle)(nil)).Elem() } -func (o VirtualNodeSpecListenerOutput) ToVirtualNodeSpecListenerOutput() VirtualNodeSpecListenerOutput { +func (o VirtualNodeSpecListenerTimeoutHttpIdleOutput) ToVirtualNodeSpecListenerTimeoutHttpIdleOutput() VirtualNodeSpecListenerTimeoutHttpIdleOutput { return o } -func (o VirtualNodeSpecListenerOutput) ToVirtualNodeSpecListenerOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutput { +func (o VirtualNodeSpecListenerTimeoutHttpIdleOutput) ToVirtualNodeSpecListenerTimeoutHttpIdleOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpIdleOutput { return o } -func (o VirtualNodeSpecListenerOutput) ToVirtualNodeSpecListenerPtrOutput() VirtualNodeSpecListenerPtrOutput { - return o.ToVirtualNodeSpecListenerPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecListenerTimeoutHttpIdleOutput) ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutput() VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput { + return o.ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecListenerOutput) ToVirtualNodeSpecListenerPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListener) *VirtualNodeSpecListener { +func (o VirtualNodeSpecListenerTimeoutHttpIdleOutput) ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttpIdle) *VirtualNodeSpecListenerTimeoutHttpIdle { return &v - }).(VirtualNodeSpecListenerPtrOutput) -} - -// The health check information for the listener. -func (o VirtualNodeSpecListenerOutput) HealthCheck() VirtualNodeSpecListenerHealthCheckPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListener) *VirtualNodeSpecListenerHealthCheck { return v.HealthCheck }).(VirtualNodeSpecListenerHealthCheckPtrOutput) + }).(VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput) } -// The port mapping information for the listener. -func (o VirtualNodeSpecListenerOutput) PortMapping() VirtualNodeSpecListenerPortMappingOutput { - return o.ApplyT(func(v VirtualNodeSpecListener) VirtualNodeSpecListenerPortMapping { return v.PortMapping }).(VirtualNodeSpecListenerPortMappingOutput) +// The 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) } -// The Transport Layer Security (TLS) properties for the listener -func (o VirtualNodeSpecListenerOutput) Tls() VirtualNodeSpecListenerTlsPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListener) *VirtualNodeSpecListenerTls { return v.Tls }).(VirtualNodeSpecListenerTlsPtrOutput) +// The 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 VirtualNodeSpecListenerPtrOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListener)(nil)).Elem() +func (VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttpIdle)(nil)).Elem() } -func (o VirtualNodeSpecListenerPtrOutput) ToVirtualNodeSpecListenerPtrOutput() VirtualNodeSpecListenerPtrOutput { +func (o VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput) ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutput() VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput { return o } -func (o VirtualNodeSpecListenerPtrOutput) ToVirtualNodeSpecListenerPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPtrOutput { +func (o VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput) ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput { return o } -func (o VirtualNodeSpecListenerPtrOutput) Elem() VirtualNodeSpecListenerOutput { - return o.ApplyT(func(v *VirtualNodeSpecListener) VirtualNodeSpecListener { return *v }).(VirtualNodeSpecListenerOutput) -} - -// The 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) +func (o VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput) Elem() VirtualNodeSpecListenerTimeoutHttpIdleOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttpIdle) VirtualNodeSpecListenerTimeoutHttpIdle { return *v }).(VirtualNodeSpecListenerTimeoutHttpIdleOutput) } -// The port mapping information for the listener. -func (o VirtualNodeSpecListenerPtrOutput) PortMapping() VirtualNodeSpecListenerPortMappingPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListener) *VirtualNodeSpecListenerPortMapping { +// The 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.PortMapping - }).(VirtualNodeSpecListenerPortMappingPtrOutput) + return &v.Unit + }).(pulumi.StringPtrOutput) } -// The Transport Layer Security (TLS) properties for the listener -func (o VirtualNodeSpecListenerPtrOutput) Tls() VirtualNodeSpecListenerTlsPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListener) *VirtualNodeSpecListenerTls { +// The 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.Tls - }).(VirtualNodeSpecListenerTlsPtrOutput) + return &v.Value + }).(pulumi.IntPtrOutput) } -type VirtualNodeSpecListenerHealthCheck struct { - // The number of consecutive successful health checks that must occur before declaring listener healthy. - HealthyThreshold int `pulumi:"healthyThreshold"` - // The time period in milliseconds between each health check execution. - IntervalMillis int `pulumi:"intervalMillis"` - // The destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. - Path *string `pulumi:"path"` - // The destination port for the health check request. This port must match the port defined in the `portMapping` for the listener. - Port *int `pulumi:"port"` - // The protocol for the health check request. Valid values are `http`, `http2`, `tcp` and `grpc`. - Protocol string `pulumi:"protocol"` - // The amount of time to wait when receiving a response from the health check, in milliseconds. - TimeoutMillis int `pulumi:"timeoutMillis"` - // The number of consecutive failed health checks that must occur before declaring a virtual node unhealthy. - UnhealthyThreshold int `pulumi:"unhealthyThreshold"` +type VirtualNodeSpecListenerTimeoutHttpPerRequest struct { + // The unit of time. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // The number of time units. Minimum value of `0`. + Value int `pulumi:"value"` } -// VirtualNodeSpecListenerHealthCheckInput is an input type that accepts VirtualNodeSpecListenerHealthCheckArgs and VirtualNodeSpecListenerHealthCheckOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerHealthCheckInput` via: +// VirtualNodeSpecListenerTimeoutHttpPerRequestInput is an input type that accepts VirtualNodeSpecListenerTimeoutHttpPerRequestArgs and VirtualNodeSpecListenerTimeoutHttpPerRequestOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutHttpPerRequestInput` via: // -// VirtualNodeSpecListenerHealthCheckArgs{...} -type VirtualNodeSpecListenerHealthCheckInput interface { +// VirtualNodeSpecListenerTimeoutHttpPerRequestArgs{...} +type VirtualNodeSpecListenerTimeoutHttpPerRequestInput interface { pulumi.Input - ToVirtualNodeSpecListenerHealthCheckOutput() VirtualNodeSpecListenerHealthCheckOutput - ToVirtualNodeSpecListenerHealthCheckOutputWithContext(context.Context) VirtualNodeSpecListenerHealthCheckOutput + ToVirtualNodeSpecListenerTimeoutHttpPerRequestOutput() VirtualNodeSpecListenerTimeoutHttpPerRequestOutput + ToVirtualNodeSpecListenerTimeoutHttpPerRequestOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttpPerRequestOutput } -type VirtualNodeSpecListenerHealthCheckArgs struct { - // The number of consecutive successful health checks that must occur before declaring listener healthy. - HealthyThreshold pulumi.IntInput `pulumi:"healthyThreshold"` - // The time period in milliseconds between each health check execution. - IntervalMillis pulumi.IntInput `pulumi:"intervalMillis"` - // The destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. - Path pulumi.StringPtrInput `pulumi:"path"` - // The 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"` - // The protocol for the health check request. Valid values are `http`, `http2`, `tcp` and `grpc`. - Protocol pulumi.StringInput `pulumi:"protocol"` - // The amount of time to wait when receiving a response from the health check, in milliseconds. - TimeoutMillis pulumi.IntInput `pulumi:"timeoutMillis"` - // The number of consecutive failed health checks that must occur before declaring a virtual node unhealthy. - UnhealthyThreshold pulumi.IntInput `pulumi:"unhealthyThreshold"` +type VirtualNodeSpecListenerTimeoutHttpPerRequestArgs struct { + // The unit of time. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // The number of time units. Minimum value of `0`. + Value pulumi.IntInput `pulumi:"value"` } -func (VirtualNodeSpecListenerHealthCheckArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerHealthCheck)(nil)).Elem() +func (VirtualNodeSpecListenerTimeoutHttpPerRequestArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttpPerRequest)(nil)).Elem() } -func (i VirtualNodeSpecListenerHealthCheckArgs) ToVirtualNodeSpecListenerHealthCheckOutput() VirtualNodeSpecListenerHealthCheckOutput { - return i.ToVirtualNodeSpecListenerHealthCheckOutputWithContext(context.Background()) +func (i VirtualNodeSpecListenerTimeoutHttpPerRequestArgs) ToVirtualNodeSpecListenerTimeoutHttpPerRequestOutput() VirtualNodeSpecListenerTimeoutHttpPerRequestOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttpPerRequestOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerHealthCheckArgs) ToVirtualNodeSpecListenerHealthCheckOutputWithContext(ctx context.Context) VirtualNodeSpecListenerHealthCheckOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerHealthCheckOutput) +func (i VirtualNodeSpecListenerTimeoutHttpPerRequestArgs) ToVirtualNodeSpecListenerTimeoutHttpPerRequestOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpPerRequestOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttpPerRequestOutput) } -func (i VirtualNodeSpecListenerHealthCheckArgs) ToVirtualNodeSpecListenerHealthCheckPtrOutput() VirtualNodeSpecListenerHealthCheckPtrOutput { - return i.ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecListenerTimeoutHttpPerRequestArgs) ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput() VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerHealthCheckArgs) ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerHealthCheckPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerHealthCheckOutput).ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(ctx) +func (i VirtualNodeSpecListenerTimeoutHttpPerRequestArgs) ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttpPerRequestOutput).ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutputWithContext(ctx) } -// VirtualNodeSpecListenerHealthCheckPtrInput is an input type that accepts VirtualNodeSpecListenerHealthCheckArgs, VirtualNodeSpecListenerHealthCheckPtr and VirtualNodeSpecListenerHealthCheckPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerHealthCheckPtrInput` via: +// VirtualNodeSpecListenerTimeoutHttpPerRequestPtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutHttpPerRequestArgs, VirtualNodeSpecListenerTimeoutHttpPerRequestPtr and VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutHttpPerRequestPtrInput` via: // -// VirtualNodeSpecListenerHealthCheckArgs{...} +// VirtualNodeSpecListenerTimeoutHttpPerRequestArgs{...} // // or: // // nil -type VirtualNodeSpecListenerHealthCheckPtrInput interface { +type VirtualNodeSpecListenerTimeoutHttpPerRequestPtrInput interface { pulumi.Input - ToVirtualNodeSpecListenerHealthCheckPtrOutput() VirtualNodeSpecListenerHealthCheckPtrOutput - ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(context.Context) VirtualNodeSpecListenerHealthCheckPtrOutput + ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput() VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput + ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput } -type virtualNodeSpecListenerHealthCheckPtrType VirtualNodeSpecListenerHealthCheckArgs +type virtualNodeSpecListenerTimeoutHttpPerRequestPtrType VirtualNodeSpecListenerTimeoutHttpPerRequestArgs -func VirtualNodeSpecListenerHealthCheckPtr(v *VirtualNodeSpecListenerHealthCheckArgs) VirtualNodeSpecListenerHealthCheckPtrInput { - return (*virtualNodeSpecListenerHealthCheckPtrType)(v) +func VirtualNodeSpecListenerTimeoutHttpPerRequestPtr(v *VirtualNodeSpecListenerTimeoutHttpPerRequestArgs) VirtualNodeSpecListenerTimeoutHttpPerRequestPtrInput { + return (*virtualNodeSpecListenerTimeoutHttpPerRequestPtrType)(v) } -func (*virtualNodeSpecListenerHealthCheckPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerHealthCheck)(nil)).Elem() +func (*virtualNodeSpecListenerTimeoutHttpPerRequestPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttpPerRequest)(nil)).Elem() } -func (i *virtualNodeSpecListenerHealthCheckPtrType) ToVirtualNodeSpecListenerHealthCheckPtrOutput() VirtualNodeSpecListenerHealthCheckPtrOutput { - return i.ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecListenerTimeoutHttpPerRequestPtrType) ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput() VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecListenerHealthCheckPtrType) ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerHealthCheckPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerHealthCheckPtrOutput) +func (i *virtualNodeSpecListenerTimeoutHttpPerRequestPtrType) ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput) } -type VirtualNodeSpecListenerHealthCheckOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecListenerTimeoutHttpPerRequestOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerHealthCheckOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerHealthCheck)(nil)).Elem() +func (VirtualNodeSpecListenerTimeoutHttpPerRequestOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttpPerRequest)(nil)).Elem() } -func (o VirtualNodeSpecListenerHealthCheckOutput) ToVirtualNodeSpecListenerHealthCheckOutput() VirtualNodeSpecListenerHealthCheckOutput { +func (o VirtualNodeSpecListenerTimeoutHttpPerRequestOutput) ToVirtualNodeSpecListenerTimeoutHttpPerRequestOutput() VirtualNodeSpecListenerTimeoutHttpPerRequestOutput { return o } -func (o VirtualNodeSpecListenerHealthCheckOutput) ToVirtualNodeSpecListenerHealthCheckOutputWithContext(ctx context.Context) VirtualNodeSpecListenerHealthCheckOutput { +func (o VirtualNodeSpecListenerTimeoutHttpPerRequestOutput) ToVirtualNodeSpecListenerTimeoutHttpPerRequestOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpPerRequestOutput { return o } -func (o VirtualNodeSpecListenerHealthCheckOutput) ToVirtualNodeSpecListenerHealthCheckPtrOutput() VirtualNodeSpecListenerHealthCheckPtrOutput { - return o.ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecListenerTimeoutHttpPerRequestOutput) ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput() VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput { + return o.ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecListenerHealthCheckOutput) ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerHealthCheckPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerHealthCheck) *VirtualNodeSpecListenerHealthCheck { +func (o VirtualNodeSpecListenerTimeoutHttpPerRequestOutput) ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttpPerRequest) *VirtualNodeSpecListenerTimeoutHttpPerRequest { return &v - }).(VirtualNodeSpecListenerHealthCheckPtrOutput) + }).(VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput) } -// The 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) +// The 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 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) +// The number of time units. Minimum value of `0`. +func (o VirtualNodeSpecListenerTimeoutHttpPerRequestOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttpPerRequest) int { return v.Value }).(pulumi.IntOutput) } -// The 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) +type VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttpPerRequest)(nil)).Elem() } -// The 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) +func (o VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput) ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput() VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput { + return o } -// The 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) +func (o VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput) ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput { + return o } -// The 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) +func (o VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput) Elem() VirtualNodeSpecListenerTimeoutHttpPerRequestOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttpPerRequest) VirtualNodeSpecListenerTimeoutHttpPerRequest { + return *v + }).(VirtualNodeSpecListenerTimeoutHttpPerRequestOutput) } -// The 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) +// The 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) } -type VirtualNodeSpecListenerHealthCheckPtrOutput struct{ *pulumi.OutputState } +// The number of time units. Minimum value of `0`. +func (o VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttpPerRequest) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) +} -func (VirtualNodeSpecListenerHealthCheckPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerHealthCheck)(nil)).Elem() +type VirtualNodeSpecListenerTimeoutTcp struct { + // The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + Idle *VirtualNodeSpecListenerTimeoutTcpIdle `pulumi:"idle"` } -func (o VirtualNodeSpecListenerHealthCheckPtrOutput) ToVirtualNodeSpecListenerHealthCheckPtrOutput() VirtualNodeSpecListenerHealthCheckPtrOutput { +// 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 { + // The 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 VirtualNodeSpecListenerHealthCheckPtrOutput) ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerHealthCheckPtrOutput { +func (o VirtualNodeSpecListenerTimeoutTcpOutput) ToVirtualNodeSpecListenerTimeoutTcpOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutTcpOutput { return o } -func (o VirtualNodeSpecListenerHealthCheckPtrOutput) Elem() VirtualNodeSpecListenerHealthCheckOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerHealthCheck) VirtualNodeSpecListenerHealthCheck { return *v }).(VirtualNodeSpecListenerHealthCheckOutput) +func (o VirtualNodeSpecListenerTimeoutTcpOutput) ToVirtualNodeSpecListenerTimeoutTcpPtrOutput() VirtualNodeSpecListenerTimeoutTcpPtrOutput { + return o.ToVirtualNodeSpecListenerTimeoutTcpPtrOutputWithContext(context.Background()) } -// The 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) +func (o VirtualNodeSpecListenerTimeoutTcpOutput) ToVirtualNodeSpecListenerTimeoutTcpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutTcpPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutTcp) *VirtualNodeSpecListenerTimeoutTcp { + return &v + }).(VirtualNodeSpecListenerTimeoutTcpPtrOutput) } -// The 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) +// The 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) } -// The 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) +type VirtualNodeSpecListenerTimeoutTcpPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTimeoutTcpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutTcp)(nil)).Elem() } -// The 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) +func (o VirtualNodeSpecListenerTimeoutTcpPtrOutput) ToVirtualNodeSpecListenerTimeoutTcpPtrOutput() VirtualNodeSpecListenerTimeoutTcpPtrOutput { + return o } -// The 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) +func (o VirtualNodeSpecListenerTimeoutTcpPtrOutput) ToVirtualNodeSpecListenerTimeoutTcpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutTcpPtrOutput { + return o } -// The 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) +func (o VirtualNodeSpecListenerTimeoutTcpPtrOutput) Elem() VirtualNodeSpecListenerTimeoutTcpOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutTcp) VirtualNodeSpecListenerTimeoutTcp { return *v }).(VirtualNodeSpecListenerTimeoutTcpOutput) } -// The 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 { +// The 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.UnhealthyThreshold - }).(pulumi.IntPtrOutput) + return v.Idle + }).(VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput) } -type VirtualNodeSpecListenerPortMapping struct { - // The port used for the port mapping. - Port int `pulumi:"port"` - // The protocol used for the port mapping. Valid values are `http`, `http2`, `tcp` and `grpc`. - Protocol string `pulumi:"protocol"` +type VirtualNodeSpecListenerTimeoutTcpIdle struct { + // The unit of time. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // The number of time units. Minimum value of `0`. + Value int `pulumi:"value"` } -// VirtualNodeSpecListenerPortMappingInput is an input type that accepts VirtualNodeSpecListenerPortMappingArgs and VirtualNodeSpecListenerPortMappingOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerPortMappingInput` via: +// VirtualNodeSpecListenerTimeoutTcpIdleInput is an input type that accepts VirtualNodeSpecListenerTimeoutTcpIdleArgs and VirtualNodeSpecListenerTimeoutTcpIdleOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutTcpIdleInput` via: // -// VirtualNodeSpecListenerPortMappingArgs{...} -type VirtualNodeSpecListenerPortMappingInput interface { +// VirtualNodeSpecListenerTimeoutTcpIdleArgs{...} +type VirtualNodeSpecListenerTimeoutTcpIdleInput interface { pulumi.Input - ToVirtualNodeSpecListenerPortMappingOutput() VirtualNodeSpecListenerPortMappingOutput - ToVirtualNodeSpecListenerPortMappingOutputWithContext(context.Context) VirtualNodeSpecListenerPortMappingOutput + ToVirtualNodeSpecListenerTimeoutTcpIdleOutput() VirtualNodeSpecListenerTimeoutTcpIdleOutput + ToVirtualNodeSpecListenerTimeoutTcpIdleOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutTcpIdleOutput } -type VirtualNodeSpecListenerPortMappingArgs struct { - // The port used for the port mapping. - Port pulumi.IntInput `pulumi:"port"` - // The protocol used for the port mapping. Valid values are `http`, `http2`, `tcp` and `grpc`. - Protocol pulumi.StringInput `pulumi:"protocol"` +type VirtualNodeSpecListenerTimeoutTcpIdleArgs struct { + // The unit of time. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // The number of time units. Minimum value of `0`. + Value pulumi.IntInput `pulumi:"value"` } -func (VirtualNodeSpecListenerPortMappingArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerPortMapping)(nil)).Elem() +func (VirtualNodeSpecListenerTimeoutTcpIdleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutTcpIdle)(nil)).Elem() } -func (i VirtualNodeSpecListenerPortMappingArgs) ToVirtualNodeSpecListenerPortMappingOutput() VirtualNodeSpecListenerPortMappingOutput { - return i.ToVirtualNodeSpecListenerPortMappingOutputWithContext(context.Background()) +func (i VirtualNodeSpecListenerTimeoutTcpIdleArgs) ToVirtualNodeSpecListenerTimeoutTcpIdleOutput() VirtualNodeSpecListenerTimeoutTcpIdleOutput { + return i.ToVirtualNodeSpecListenerTimeoutTcpIdleOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerPortMappingArgs) ToVirtualNodeSpecListenerPortMappingOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPortMappingOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerPortMappingOutput) +func (i VirtualNodeSpecListenerTimeoutTcpIdleArgs) ToVirtualNodeSpecListenerTimeoutTcpIdleOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutTcpIdleOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutTcpIdleOutput) } -func (i VirtualNodeSpecListenerPortMappingArgs) ToVirtualNodeSpecListenerPortMappingPtrOutput() VirtualNodeSpecListenerPortMappingPtrOutput { - return i.ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecListenerTimeoutTcpIdleArgs) ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutput() VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerPortMappingArgs) ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPortMappingPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerPortMappingOutput).ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(ctx) +func (i VirtualNodeSpecListenerTimeoutTcpIdleArgs) ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutTcpIdleOutput).ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutputWithContext(ctx) } -// VirtualNodeSpecListenerPortMappingPtrInput is an input type that accepts VirtualNodeSpecListenerPortMappingArgs, VirtualNodeSpecListenerPortMappingPtr and VirtualNodeSpecListenerPortMappingPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerPortMappingPtrInput` via: +// VirtualNodeSpecListenerTimeoutTcpIdlePtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutTcpIdleArgs, VirtualNodeSpecListenerTimeoutTcpIdlePtr and VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutTcpIdlePtrInput` via: // -// VirtualNodeSpecListenerPortMappingArgs{...} +// VirtualNodeSpecListenerTimeoutTcpIdleArgs{...} // // or: // // nil -type VirtualNodeSpecListenerPortMappingPtrInput interface { +type VirtualNodeSpecListenerTimeoutTcpIdlePtrInput interface { pulumi.Input - ToVirtualNodeSpecListenerPortMappingPtrOutput() VirtualNodeSpecListenerPortMappingPtrOutput - ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(context.Context) VirtualNodeSpecListenerPortMappingPtrOutput + ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutput() VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput + ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput } -type virtualNodeSpecListenerPortMappingPtrType VirtualNodeSpecListenerPortMappingArgs +type virtualNodeSpecListenerTimeoutTcpIdlePtrType VirtualNodeSpecListenerTimeoutTcpIdleArgs -func VirtualNodeSpecListenerPortMappingPtr(v *VirtualNodeSpecListenerPortMappingArgs) VirtualNodeSpecListenerPortMappingPtrInput { - return (*virtualNodeSpecListenerPortMappingPtrType)(v) +func VirtualNodeSpecListenerTimeoutTcpIdlePtr(v *VirtualNodeSpecListenerTimeoutTcpIdleArgs) VirtualNodeSpecListenerTimeoutTcpIdlePtrInput { + return (*virtualNodeSpecListenerTimeoutTcpIdlePtrType)(v) } -func (*virtualNodeSpecListenerPortMappingPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerPortMapping)(nil)).Elem() +func (*virtualNodeSpecListenerTimeoutTcpIdlePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutTcpIdle)(nil)).Elem() } -func (i *virtualNodeSpecListenerPortMappingPtrType) ToVirtualNodeSpecListenerPortMappingPtrOutput() VirtualNodeSpecListenerPortMappingPtrOutput { - return i.ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecListenerTimeoutTcpIdlePtrType) ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutput() VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecListenerPortMappingPtrType) ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPortMappingPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerPortMappingPtrOutput) +func (i *virtualNodeSpecListenerTimeoutTcpIdlePtrType) ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput) } -type VirtualNodeSpecListenerPortMappingOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecListenerTimeoutTcpIdleOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerPortMappingOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerPortMapping)(nil)).Elem() +func (VirtualNodeSpecListenerTimeoutTcpIdleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutTcpIdle)(nil)).Elem() } -func (o VirtualNodeSpecListenerPortMappingOutput) ToVirtualNodeSpecListenerPortMappingOutput() VirtualNodeSpecListenerPortMappingOutput { +func (o VirtualNodeSpecListenerTimeoutTcpIdleOutput) ToVirtualNodeSpecListenerTimeoutTcpIdleOutput() VirtualNodeSpecListenerTimeoutTcpIdleOutput { return o } -func (o VirtualNodeSpecListenerPortMappingOutput) ToVirtualNodeSpecListenerPortMappingOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPortMappingOutput { +func (o VirtualNodeSpecListenerTimeoutTcpIdleOutput) ToVirtualNodeSpecListenerTimeoutTcpIdleOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutTcpIdleOutput { return o } -func (o VirtualNodeSpecListenerPortMappingOutput) ToVirtualNodeSpecListenerPortMappingPtrOutput() VirtualNodeSpecListenerPortMappingPtrOutput { - return o.ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecListenerTimeoutTcpIdleOutput) ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutput() VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput { + return o.ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecListenerPortMappingOutput) ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPortMappingPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerPortMapping) *VirtualNodeSpecListenerPortMapping { +func (o VirtualNodeSpecListenerTimeoutTcpIdleOutput) ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutTcpIdle) *VirtualNodeSpecListenerTimeoutTcpIdle { return &v - }).(VirtualNodeSpecListenerPortMappingPtrOutput) + }).(VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput) } -// The port used for the port mapping. -func (o VirtualNodeSpecListenerPortMappingOutput) Port() pulumi.IntOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerPortMapping) int { return v.Port }).(pulumi.IntOutput) +// The 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) } -// The 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) +// The 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 VirtualNodeSpecListenerPortMappingPtrOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerPortMappingPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerPortMapping)(nil)).Elem() +func (VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutTcpIdle)(nil)).Elem() } -func (o VirtualNodeSpecListenerPortMappingPtrOutput) ToVirtualNodeSpecListenerPortMappingPtrOutput() VirtualNodeSpecListenerPortMappingPtrOutput { +func (o VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput) ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutput() VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput { return o } -func (o VirtualNodeSpecListenerPortMappingPtrOutput) ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPortMappingPtrOutput { +func (o VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput) ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput { return o } -func (o VirtualNodeSpecListenerPortMappingPtrOutput) Elem() VirtualNodeSpecListenerPortMappingOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerPortMapping) VirtualNodeSpecListenerPortMapping { return *v }).(VirtualNodeSpecListenerPortMappingOutput) +func (o VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput) Elem() VirtualNodeSpecListenerTimeoutTcpIdleOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutTcpIdle) VirtualNodeSpecListenerTimeoutTcpIdle { return *v }).(VirtualNodeSpecListenerTimeoutTcpIdleOutput) } -// The port used for the port mapping. -func (o VirtualNodeSpecListenerPortMappingPtrOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerPortMapping) *int { +// The 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.Port - }).(pulumi.IntPtrOutput) + return &v.Unit + }).(pulumi.StringPtrOutput) } -// The 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 { +// The 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.Protocol - }).(pulumi.StringPtrOutput) + return &v.Value + }).(pulumi.IntPtrOutput) } type VirtualNodeSpecListenerTls struct { @@ -8090,7 +11670,7 @@ func (o VirtualNodeSpecListenerTlsPtrOutput) Mode() pulumi.StringPtrOutput { } type VirtualNodeSpecListenerTlsCertificate struct { - // An AWS Certicate Manager (ACM) certificate. + // An AWS Certificate Manager (ACM) certificate. Acm *VirtualNodeSpecListenerTlsCertificateAcm `pulumi:"acm"` // A local file certificate. File *VirtualNodeSpecListenerTlsCertificateFile `pulumi:"file"` @@ -8108,7 +11688,7 @@ type VirtualNodeSpecListenerTlsCertificateInput interface { } type VirtualNodeSpecListenerTlsCertificateArgs struct { - // An AWS Certicate Manager (ACM) certificate. + // An AWS Certificate Manager (ACM) certificate. Acm VirtualNodeSpecListenerTlsCertificateAcmPtrInput `pulumi:"acm"` // A local file certificate. File VirtualNodeSpecListenerTlsCertificateFilePtrInput `pulumi:"file"` @@ -8191,7 +11771,7 @@ func (o VirtualNodeSpecListenerTlsCertificateOutput) ToVirtualNodeSpecListenerTl }).(VirtualNodeSpecListenerTlsCertificatePtrOutput) } -// An AWS Certicate Manager (ACM) certificate. +// An AWS Certificate Manager (ACM) certificate. func (o VirtualNodeSpecListenerTlsCertificateOutput) Acm() VirtualNodeSpecListenerTlsCertificateAcmPtrOutput { return o.ApplyT(func(v VirtualNodeSpecListenerTlsCertificate) *VirtualNodeSpecListenerTlsCertificateAcm { return v.Acm }).(VirtualNodeSpecListenerTlsCertificateAcmPtrOutput) } @@ -8221,7 +11801,7 @@ func (o VirtualNodeSpecListenerTlsCertificatePtrOutput) Elem() VirtualNodeSpecLi return o.ApplyT(func(v *VirtualNodeSpecListenerTlsCertificate) VirtualNodeSpecListenerTlsCertificate { return *v }).(VirtualNodeSpecListenerTlsCertificateOutput) } -// An AWS Certicate Manager (ACM) certificate. +// An AWS Certificate Manager (ACM) certificate. func (o VirtualNodeSpecListenerTlsCertificatePtrOutput) Acm() VirtualNodeSpecListenerTlsCertificateAcmPtrOutput { return o.ApplyT(func(v *VirtualNodeSpecListenerTlsCertificate) *VirtualNodeSpecListenerTlsCertificateAcm { if v == nil { @@ -10359,6 +13939,12 @@ func init() { pulumi.RegisterOutputType(RouteSpecGrpcRouteRetryPolicyPtrOutput{}) pulumi.RegisterOutputType(RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput{}) pulumi.RegisterOutputType(RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput{}) + pulumi.RegisterOutputType(RouteSpecGrpcRouteTimeoutOutput{}) + pulumi.RegisterOutputType(RouteSpecGrpcRouteTimeoutPtrOutput{}) + pulumi.RegisterOutputType(RouteSpecGrpcRouteTimeoutIdleOutput{}) + pulumi.RegisterOutputType(RouteSpecGrpcRouteTimeoutIdlePtrOutput{}) + pulumi.RegisterOutputType(RouteSpecGrpcRouteTimeoutPerRequestOutput{}) + pulumi.RegisterOutputType(RouteSpecGrpcRouteTimeoutPerRequestPtrOutput{}) pulumi.RegisterOutputType(RouteSpecHttp2RouteOutput{}) pulumi.RegisterOutputType(RouteSpecHttp2RoutePtrOutput{}) pulumi.RegisterOutputType(RouteSpecHttp2RouteActionOutput{}) @@ -10377,6 +13963,12 @@ func init() { pulumi.RegisterOutputType(RouteSpecHttp2RouteRetryPolicyPtrOutput{}) pulumi.RegisterOutputType(RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput{}) pulumi.RegisterOutputType(RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput{}) + pulumi.RegisterOutputType(RouteSpecHttp2RouteTimeoutOutput{}) + pulumi.RegisterOutputType(RouteSpecHttp2RouteTimeoutPtrOutput{}) + pulumi.RegisterOutputType(RouteSpecHttp2RouteTimeoutIdleOutput{}) + pulumi.RegisterOutputType(RouteSpecHttp2RouteTimeoutIdlePtrOutput{}) + pulumi.RegisterOutputType(RouteSpecHttp2RouteTimeoutPerRequestOutput{}) + pulumi.RegisterOutputType(RouteSpecHttp2RouteTimeoutPerRequestPtrOutput{}) pulumi.RegisterOutputType(RouteSpecHttpRouteOutput{}) pulumi.RegisterOutputType(RouteSpecHttpRoutePtrOutput{}) pulumi.RegisterOutputType(RouteSpecHttpRouteActionOutput{}) @@ -10395,12 +13987,22 @@ func init() { pulumi.RegisterOutputType(RouteSpecHttpRouteRetryPolicyPtrOutput{}) pulumi.RegisterOutputType(RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput{}) pulumi.RegisterOutputType(RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput{}) + pulumi.RegisterOutputType(RouteSpecHttpRouteTimeoutOutput{}) + pulumi.RegisterOutputType(RouteSpecHttpRouteTimeoutPtrOutput{}) + pulumi.RegisterOutputType(RouteSpecHttpRouteTimeoutIdleOutput{}) + pulumi.RegisterOutputType(RouteSpecHttpRouteTimeoutIdlePtrOutput{}) + pulumi.RegisterOutputType(RouteSpecHttpRouteTimeoutPerRequestOutput{}) + pulumi.RegisterOutputType(RouteSpecHttpRouteTimeoutPerRequestPtrOutput{}) pulumi.RegisterOutputType(RouteSpecTcpRouteOutput{}) pulumi.RegisterOutputType(RouteSpecTcpRoutePtrOutput{}) pulumi.RegisterOutputType(RouteSpecTcpRouteActionOutput{}) pulumi.RegisterOutputType(RouteSpecTcpRouteActionPtrOutput{}) pulumi.RegisterOutputType(RouteSpecTcpRouteActionWeightedTargetOutput{}) pulumi.RegisterOutputType(RouteSpecTcpRouteActionWeightedTargetArrayOutput{}) + pulumi.RegisterOutputType(RouteSpecTcpRouteTimeoutOutput{}) + pulumi.RegisterOutputType(RouteSpecTcpRouteTimeoutPtrOutput{}) + pulumi.RegisterOutputType(RouteSpecTcpRouteTimeoutIdleOutput{}) + pulumi.RegisterOutputType(RouteSpecTcpRouteTimeoutIdlePtrOutput{}) pulumi.RegisterOutputType(VirtualNodeSpecOutput{}) pulumi.RegisterOutputType(VirtualNodeSpecPtrOutput{}) pulumi.RegisterOutputType(VirtualNodeSpecBackendOutput{}) @@ -10438,6 +14040,30 @@ func init() { pulumi.RegisterOutputType(VirtualNodeSpecListenerHealthCheckPtrOutput{}) pulumi.RegisterOutputType(VirtualNodeSpecListenerPortMappingOutput{}) pulumi.RegisterOutputType(VirtualNodeSpecListenerPortMappingPtrOutput{}) + pulumi.RegisterOutputType(VirtualNodeSpecListenerTimeoutOutput{}) + pulumi.RegisterOutputType(VirtualNodeSpecListenerTimeoutPtrOutput{}) + pulumi.RegisterOutputType(VirtualNodeSpecListenerTimeoutGrpcOutput{}) + pulumi.RegisterOutputType(VirtualNodeSpecListenerTimeoutGrpcPtrOutput{}) + pulumi.RegisterOutputType(VirtualNodeSpecListenerTimeoutGrpcIdleOutput{}) + pulumi.RegisterOutputType(VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput{}) + pulumi.RegisterOutputType(VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput{}) + pulumi.RegisterOutputType(VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput{}) + pulumi.RegisterOutputType(VirtualNodeSpecListenerTimeoutHttp2Output{}) + pulumi.RegisterOutputType(VirtualNodeSpecListenerTimeoutHttp2PtrOutput{}) + pulumi.RegisterOutputType(VirtualNodeSpecListenerTimeoutHttp2IdleOutput{}) + pulumi.RegisterOutputType(VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput{}) + pulumi.RegisterOutputType(VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput{}) + pulumi.RegisterOutputType(VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput{}) + pulumi.RegisterOutputType(VirtualNodeSpecListenerTimeoutHttpOutput{}) + pulumi.RegisterOutputType(VirtualNodeSpecListenerTimeoutHttpPtrOutput{}) + pulumi.RegisterOutputType(VirtualNodeSpecListenerTimeoutHttpIdleOutput{}) + pulumi.RegisterOutputType(VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput{}) + pulumi.RegisterOutputType(VirtualNodeSpecListenerTimeoutHttpPerRequestOutput{}) + pulumi.RegisterOutputType(VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput{}) + pulumi.RegisterOutputType(VirtualNodeSpecListenerTimeoutTcpOutput{}) + pulumi.RegisterOutputType(VirtualNodeSpecListenerTimeoutTcpPtrOutput{}) + pulumi.RegisterOutputType(VirtualNodeSpecListenerTimeoutTcpIdleOutput{}) + pulumi.RegisterOutputType(VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput{}) pulumi.RegisterOutputType(VirtualNodeSpecListenerTlsOutput{}) pulumi.RegisterOutputType(VirtualNodeSpecListenerTlsPtrOutput{}) pulumi.RegisterOutputType(VirtualNodeSpecListenerTlsCertificateOutput{}) diff --git a/sdk/go/aws/autoscaling/attachment.go b/sdk/go/aws/autoscaling/attachment.go index 7a0f96af124..3cec94e7750 100644 --- a/sdk/go/aws/autoscaling/attachment.go +++ b/sdk/go/aws/autoscaling/attachment.go @@ -10,15 +10,15 @@ import ( "github.com/pulumi/pulumi/sdk/v2/go/pulumi" ) -// Provides an AutoScaling Attachment resource. +// Provides an Auto Scaling Attachment resource. // -// > **NOTE on AutoScaling Groups and ASG Attachments:** This provider currently provides -// both a standalone ASG Attachment resource (describing an ASG attached to -// an ELB or ALB), and an AutoScaling Group resource with -// `loadBalancers` and `targetGroupArns` defined in-line. At this time you can use an ASG with in-line -// `load balancers` or `targetGroupArns` in conjunction with an ASG Attachment resource, however, to prevent -// unintended resource updates, the `autoscaling.Group` resource must be configured -// to ignore changes to the `loadBalancers` and `targetGroupArns` arguments within a [`lifecycle` configuration block](https://www.terraform.io/docs/configuration/resources.html#lifecycle-lifecycle-customizations). +// > **NOTE on Auto Scaling Groups and ASG Attachments:** This provider currently provides +// both a standalone `autoscaling.Attachment` resource +// (describing an ASG attached to an ELB or ALB), and an `autoscaling.Group` +// with `loadBalancers` and `targetGroupArns` defined in-line. These two methods are not +// mutually-exclusive. If `autoscaling.Attachment` resources are used, either alone or with inline +// `loadBalancers` or `targetGroupArns`, the `autoscaling.Group` resource must be configured +// to [ignore changes](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) to the `loadBalancers` and `targetGroupArns` arguments. // // ## Example Usage // diff --git a/sdk/go/aws/autoscaling/getGroup.go b/sdk/go/aws/autoscaling/getGroup.go index 5e30a697d76..046e406fdac 100644 --- a/sdk/go/aws/autoscaling/getGroup.go +++ b/sdk/go/aws/autoscaling/getGroup.go @@ -69,7 +69,7 @@ type LookupGroupResult struct { MaxSize int `pulumi:"maxSize"` // The minimum size of the group. MinSize int `pulumi:"minSize"` - // The name of the Auto Scaling group. + // Name of the Auto Scaling Group. Name string `pulumi:"name"` NewInstancesProtectedFromScaleIn bool `pulumi:"newInstancesProtectedFromScaleIn"` // The name of the placement group into which to launch your instances, if any. For more information, see Placement Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) in the Amazon Elastic Compute Cloud User Guide. diff --git a/sdk/go/aws/autoscaling/group.go b/sdk/go/aws/autoscaling/group.go index 5782fb76663..c8465ff253e 100644 --- a/sdk/go/aws/autoscaling/group.go +++ b/sdk/go/aws/autoscaling/group.go @@ -10,167 +10,6 @@ import ( "github.com/pulumi/pulumi/sdk/v2/go/pulumi" ) -// Provides an AutoScaling Group resource. -// -// > **Note:** You must specify either `launchConfiguration`, `launchTemplate`, or `mixedInstancesPolicy`. -// -// ## Example Usage -// ### With Latest Version Of Launch Template -// -// ```go -// package main -// -// import ( -// "fmt" -// -// "github.com/pulumi/pulumi-aws/sdk/v3/go/aws/autoscaling" -// "github.com/pulumi/pulumi-aws/sdk/v3/go/aws/ec2" -// "github.com/pulumi/pulumi/sdk/v2/go/pulumi" -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// foobar, err := ec2.NewLaunchTemplate(ctx, "foobar", &ec2.LaunchTemplateArgs{ -// NamePrefix: pulumi.String("foobar"), -// ImageId: pulumi.String("ami-1a2b3c"), -// InstanceType: pulumi.String("t2.micro"), -// }) -// if err != nil { -// return err -// } -// _, err = autoscaling.NewGroup(ctx, "bar", &autoscaling.GroupArgs{ -// AvailabilityZones: pulumi.StringArray{ -// pulumi.String("us-east-1a"), -// }, -// DesiredCapacity: pulumi.Int(1), -// MaxSize: pulumi.Int(1), -// MinSize: pulumi.Int(1), -// LaunchTemplate: &autoscaling.GroupLaunchTemplateArgs{ -// Id: foobar.ID(), -// Version: pulumi.String(fmt.Sprintf("%v%v", "$", "Latest")), -// }, -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// ``` -// ### Mixed Instances Policy -// -// ```go -// package main -// -// import ( -// "github.com/pulumi/pulumi-aws/sdk/v3/go/aws/autoscaling" -// "github.com/pulumi/pulumi-aws/sdk/v3/go/aws/ec2" -// "github.com/pulumi/pulumi/sdk/v2/go/pulumi" -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// exampleLaunchTemplate, err := ec2.NewLaunchTemplate(ctx, "exampleLaunchTemplate", &ec2.LaunchTemplateArgs{ -// NamePrefix: pulumi.String("example"), -// ImageId: pulumi.Any(data.Aws_ami.Example.Id), -// InstanceType: pulumi.String("c5.large"), -// }) -// if err != nil { -// return err -// } -// _, err = autoscaling.NewGroup(ctx, "exampleGroup", &autoscaling.GroupArgs{ -// AvailabilityZones: pulumi.StringArray{ -// pulumi.String("us-east-1a"), -// }, -// DesiredCapacity: pulumi.Int(1), -// MaxSize: pulumi.Int(1), -// MinSize: pulumi.Int(1), -// MixedInstancesPolicy: &autoscaling.GroupMixedInstancesPolicyArgs{ -// LaunchTemplate: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs{ -// LaunchTemplateSpecification: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs{ -// LaunchTemplateId: exampleLaunchTemplate.ID(), -// }, -// Overrides: autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArray{ -// &autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{ -// InstanceType: pulumi.String("c4.large"), -// WeightedCapacity: pulumi.String("3"), -// }, -// &autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{ -// InstanceType: pulumi.String("c3.large"), -// WeightedCapacity: pulumi.String("2"), -// }, -// }, -// }, -// }, -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// ``` -// ## Waiting for Capacity -// -// A newly-created ASG is initially empty and begins to scale to `minSize` (or -// `desiredCapacity`, if specified) by launching instances using the provided -// Launch Configuration. These instances take time to launch and boot. -// -// On ASG Update, changes to these values also take time to result in the target -// number of instances providing service. -// -// This provider provides two mechanisms to help consistently manage ASG scale up -// time across dependent resources. -// -// #### Waiting for ASG Capacity -// -// The first is default behavior. This provider waits after ASG creation for -// `minSize` (or `desiredCapacity`, if specified) healthy instances to show up -// in the ASG before continuing. -// -// If `minSize` or `desiredCapacity` are changed in a subsequent update, -// this provider will also wait for the correct number of healthy instances before -// continuing. -// -// This provider considers an instance "healthy" when the ASG reports `HealthStatus: -// "Healthy"` and `LifecycleState: "InService"`. See the [AWS AutoScaling -// Docs](https://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingGroupLifecycle.html) -// for more information on an ASG's lifecycle. -// -// This provider will wait for healthy instances for up to -// `waitForCapacityTimeout`. If ASG creation is taking more than a few minutes, -// it's worth investigating for scaling activity errors, which can be caused by -// problems with the selected Launch Configuration. -// -// Setting `waitForCapacityTimeout` to `"0"` disables ASG Capacity waiting. -// -// #### Waiting for ELB Capacity -// -// The second mechanism is optional, and affects ASGs with attached ELBs specified -// via the `loadBalancers` attribute or with ALBs specified with `targetGroupArns`. -// -// The `minElbCapacity` parameter causes this provider to wait for at least the -// requested number of instances to show up `"InService"` in all attached ELBs -// during ASG creation. It has no effect on ASG updates. -// -// If `waitForElbCapacity` is set, this provider will wait for exactly that number -// of Instances to be `"InService"` in all attached ELBs on both creation and -// updates. -// -// These parameters can be used to ensure that service is being provided before -// this provider moves on. If new instances don't pass the ELB's health checks for any -// reason, the deployment will time out, and the ASG will be marked as -// tainted (i.e. marked to be destroyed in a follow up run). -// -// As with ASG Capacity, this provider will wait for up to `waitForCapacityTimeout` -// for the proper number of instances to be healthy. -// -// #### Troubleshooting Capacity Waiting Timeouts -// -// If ASG creation takes more than a few minutes, this could indicate one of a -// number of configuration problems. See the [AWS Docs on Load Balancer -// Troubleshooting](https://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elb-troubleshooting.html) -// for more information. type Group struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/batch/computeEnvironment.go b/sdk/go/aws/batch/computeEnvironment.go index 414e22ef83d..a0241bed08e 100644 --- a/sdk/go/aws/batch/computeEnvironment.go +++ b/sdk/go/aws/batch/computeEnvironment.go @@ -145,6 +145,8 @@ type ComputeEnvironment struct { Status pulumi.StringOutput `pulumi:"status"` // A short, human-readable string to provide additional details about the current status of the compute environment. StatusReason pulumi.StringOutput `pulumi:"statusReason"` + // Key-value pair tags to be applied to resources that are launched in the compute environment. + Tags pulumi.StringMapOutput `pulumi:"tags"` // The type of compute environment. Valid items are `EC2` or `SPOT`. Type pulumi.StringOutput `pulumi:"type"` } @@ -201,6 +203,8 @@ type computeEnvironmentState struct { Status *string `pulumi:"status"` // A short, human-readable string to provide additional details about the current status of the compute environment. StatusReason *string `pulumi:"statusReason"` + // Key-value pair tags to be applied to resources that are launched in the compute environment. + Tags map[string]string `pulumi:"tags"` // The type of compute environment. Valid items are `EC2` or `SPOT`. Type *string `pulumi:"type"` } @@ -224,6 +228,8 @@ type ComputeEnvironmentState struct { Status pulumi.StringPtrInput // A short, human-readable string to provide additional details about the current status of the compute environment. StatusReason pulumi.StringPtrInput + // Key-value pair tags to be applied to resources that are launched in the compute environment. + Tags pulumi.StringMapInput // The type of compute environment. Valid items are `EC2` or `SPOT`. Type pulumi.StringPtrInput } @@ -243,6 +249,8 @@ type computeEnvironmentArgs struct { ServiceRole string `pulumi:"serviceRole"` // The state of the compute environment. If the state is `ENABLED`, then the compute environment accepts jobs from a queue and can scale out automatically based on queues. Valid items are `ENABLED` or `DISABLED`. Defaults to `ENABLED`. State *string `pulumi:"state"` + // Key-value pair tags to be applied to resources that are launched in the compute environment. + Tags map[string]string `pulumi:"tags"` // The type of compute environment. Valid items are `EC2` or `SPOT`. Type string `pulumi:"type"` } @@ -259,6 +267,8 @@ type ComputeEnvironmentArgs struct { ServiceRole pulumi.StringInput // The state of the compute environment. If the state is `ENABLED`, then the compute environment accepts jobs from a queue and can scale out automatically based on queues. Valid items are `ENABLED` or `DISABLED`. Defaults to `ENABLED`. State pulumi.StringPtrInput + // Key-value pair tags to be applied to resources that are launched in the compute environment. + Tags pulumi.StringMapInput // The type of compute environment. Valid items are `EC2` or `SPOT`. Type pulumi.StringInput } diff --git a/sdk/go/aws/batch/getComputeEnvironment.go b/sdk/go/aws/batch/getComputeEnvironment.go index 4833958cc7f..25c10e03b87 100644 --- a/sdk/go/aws/batch/getComputeEnvironment.go +++ b/sdk/go/aws/batch/getComputeEnvironment.go @@ -45,6 +45,8 @@ func LookupComputeEnvironment(ctx *pulumi.Context, args *LookupComputeEnvironmen type LookupComputeEnvironmentArgs struct { // The name of the Batch Compute Environment ComputeEnvironmentName string `pulumi:"computeEnvironmentName"` + // Key-value map of resource tags + Tags map[string]string `pulumi:"tags"` } // A collection of values returned by getComputeEnvironment. @@ -64,6 +66,8 @@ type LookupComputeEnvironmentResult struct { Status string `pulumi:"status"` // A short, human-readable string to provide additional details about the current status of the compute environment. StatusReason string `pulumi:"statusReason"` + // Key-value map of resource tags + Tags map[string]string `pulumi:"tags"` // The type of the compute environment (for example, `MANAGED` or `UNMANAGED`). Type string `pulumi:"type"` } diff --git a/sdk/go/aws/batch/getJobQueue.go b/sdk/go/aws/batch/getJobQueue.go index b1d30f60a4d..8a2dd916d7d 100644 --- a/sdk/go/aws/batch/getJobQueue.go +++ b/sdk/go/aws/batch/getJobQueue.go @@ -45,6 +45,8 @@ func LookupJobQueue(ctx *pulumi.Context, args *LookupJobQueueArgs, opts ...pulum type LookupJobQueueArgs struct { // The name of the job queue. Name string `pulumi:"name"` + // Key-value map of resource tags + Tags map[string]string `pulumi:"tags"` } // A collection of values returned by getJobQueue. @@ -69,4 +71,6 @@ type LookupJobQueueResult struct { // A short, human-readable string to provide additional details about the current status // of the job queue. StatusReason string `pulumi:"statusReason"` + // Key-value map of resource tags + Tags map[string]string `pulumi:"tags"` } diff --git a/sdk/go/aws/batch/jobDefinition.go b/sdk/go/aws/batch/jobDefinition.go index 36fc1f86c02..1058b8803d5 100644 --- a/sdk/go/aws/batch/jobDefinition.go +++ b/sdk/go/aws/batch/jobDefinition.go @@ -54,6 +54,8 @@ type JobDefinition struct { RetryStrategy JobDefinitionRetryStrategyPtrOutput `pulumi:"retryStrategy"` // The revision of the job definition. Revision pulumi.IntOutput `pulumi:"revision"` + // Key-value map of resource tags + Tags pulumi.StringMapOutput `pulumi:"tags"` // Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. Timeout JobDefinitionTimeoutPtrOutput `pulumi:"timeout"` // The type of job definition. Must be `container` @@ -105,6 +107,8 @@ type jobDefinitionState struct { RetryStrategy *JobDefinitionRetryStrategy `pulumi:"retryStrategy"` // The revision of the job definition. Revision *int `pulumi:"revision"` + // Key-value map of resource tags + Tags map[string]string `pulumi:"tags"` // Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. Timeout *JobDefinitionTimeout `pulumi:"timeout"` // The type of job definition. Must be `container` @@ -126,6 +130,8 @@ type JobDefinitionState struct { RetryStrategy JobDefinitionRetryStrategyPtrInput // The revision of the job definition. Revision pulumi.IntPtrInput + // Key-value map of resource tags + Tags pulumi.StringMapInput // Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. Timeout JobDefinitionTimeoutPtrInput // The type of job definition. Must be `container` @@ -147,6 +153,8 @@ type jobDefinitionArgs struct { // Specifies the retry strategy to use for failed jobs that are submitted with this job definition. // Maximum number of `retryStrategy` is `1`. Defined below. RetryStrategy *JobDefinitionRetryStrategy `pulumi:"retryStrategy"` + // Key-value map of resource tags + Tags map[string]string `pulumi:"tags"` // Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. Timeout *JobDefinitionTimeout `pulumi:"timeout"` // The type of job definition. Must be `container` @@ -165,6 +173,8 @@ type JobDefinitionArgs struct { // Specifies the retry strategy to use for failed jobs that are submitted with this job definition. // Maximum number of `retryStrategy` is `1`. Defined below. RetryStrategy JobDefinitionRetryStrategyPtrInput + // Key-value map of resource tags + Tags pulumi.StringMapInput // Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. Timeout JobDefinitionTimeoutPtrInput // The type of job definition. Must be `container` diff --git a/sdk/go/aws/batch/jobQueue.go b/sdk/go/aws/batch/jobQueue.go index ba7b960f225..8ff3b06e706 100644 --- a/sdk/go/aws/batch/jobQueue.go +++ b/sdk/go/aws/batch/jobQueue.go @@ -56,6 +56,8 @@ type JobQueue struct { Priority pulumi.IntOutput `pulumi:"priority"` // The state of the job queue. Must be one of: `ENABLED` or `DISABLED` State pulumi.StringOutput `pulumi:"state"` + // Key-value map of resource tags + Tags pulumi.StringMapOutput `pulumi:"tags"` } // NewJobQueue registers a new resource with the given unique name, arguments, and options. @@ -109,6 +111,8 @@ type jobQueueState struct { Priority *int `pulumi:"priority"` // The state of the job queue. Must be one of: `ENABLED` or `DISABLED` State *string `pulumi:"state"` + // Key-value map of resource tags + Tags map[string]string `pulumi:"tags"` } type JobQueueState struct { @@ -126,6 +130,8 @@ type JobQueueState struct { Priority pulumi.IntPtrInput // The state of the job queue. Must be one of: `ENABLED` or `DISABLED` State pulumi.StringPtrInput + // Key-value map of resource tags + Tags pulumi.StringMapInput } func (JobQueueState) ElementType() reflect.Type { @@ -145,6 +151,8 @@ type jobQueueArgs struct { Priority int `pulumi:"priority"` // The state of the job queue. Must be one of: `ENABLED` or `DISABLED` State string `pulumi:"state"` + // Key-value map of resource tags + Tags map[string]string `pulumi:"tags"` } // The set of arguments for constructing a JobQueue resource. @@ -161,6 +169,8 @@ type JobQueueArgs struct { Priority pulumi.IntInput // The state of the job queue. Must be one of: `ENABLED` or `DISABLED` State pulumi.StringInput + // Key-value map of resource tags + Tags pulumi.StringMapInput } func (JobQueueArgs) ElementType() reflect.Type { diff --git a/sdk/go/aws/cloudfront/distribution.go b/sdk/go/aws/cloudfront/distribution.go index b063694a625..56afe4811f2 100644 --- a/sdk/go/aws/cloudfront/distribution.go +++ b/sdk/go/aws/cloudfront/distribution.go @@ -108,11 +108,13 @@ type Distribution struct { // the distribution status to change from `InProgress` to `Deployed`. Setting // this to`false` will skip the process. Default: `true`. WaitForDeployment pulumi.BoolPtrOutput `pulumi:"waitForDeployment"` - // If you're using AWS WAF to filter CloudFront - // requests, the Id of the AWS WAF web ACL that is associated with the - // distribution. The WAF Web ACL must exist in the WAF Global (CloudFront) - // region and the credentials configuring this argument must have - // `waf:GetWebACL` permissions assigned. If using WAFv2, provide the ARN of the web ACL. + // A unique identifier that specifies the AWS WAF web ACL, + // if any, to associate with this distribution. + // To specify a web ACL created using the latest version of AWS WAF (WAFv2), use the ACL ARN, + // for example `aws_wafv2_web_acl.example.arn`. To specify a web + // ACL created using AWS WAF Classic, use the ACL ID, for example `aws_waf_web_acl.example.id`. + // The WAF Web ACL must exist in the WAF Global (CloudFront) region and the + // credentials configuring this argument must have `waf:GetWebACL` permissions assigned. WebAclId pulumi.StringPtrOutput `pulumi:"webAclId"` } @@ -243,11 +245,13 @@ type distributionState struct { // the distribution status to change from `InProgress` to `Deployed`. Setting // this to`false` will skip the process. Default: `true`. WaitForDeployment *bool `pulumi:"waitForDeployment"` - // If you're using AWS WAF to filter CloudFront - // requests, the Id of the AWS WAF web ACL that is associated with the - // distribution. The WAF Web ACL must exist in the WAF Global (CloudFront) - // region and the credentials configuring this argument must have - // `waf:GetWebACL` permissions assigned. If using WAFv2, provide the ARN of the web ACL. + // A unique identifier that specifies the AWS WAF web ACL, + // if any, to associate with this distribution. + // To specify a web ACL created using the latest version of AWS WAF (WAFv2), use the ACL ARN, + // for example `aws_wafv2_web_acl.example.arn`. To specify a web + // ACL created using AWS WAF Classic, use the ACL ID, for example `aws_waf_web_acl.example.id`. + // The WAF Web ACL must exist in the WAF Global (CloudFront) region and the + // credentials configuring this argument must have `waf:GetWebACL` permissions assigned. WebAclId *string `pulumi:"webAclId"` } @@ -336,11 +340,13 @@ type DistributionState struct { // the distribution status to change from `InProgress` to `Deployed`. Setting // this to`false` will skip the process. Default: `true`. WaitForDeployment pulumi.BoolPtrInput - // If you're using AWS WAF to filter CloudFront - // requests, the Id of the AWS WAF web ACL that is associated with the - // distribution. The WAF Web ACL must exist in the WAF Global (CloudFront) - // region and the credentials configuring this argument must have - // `waf:GetWebACL` permissions assigned. If using WAFv2, provide the ARN of the web ACL. + // A unique identifier that specifies the AWS WAF web ACL, + // if any, to associate with this distribution. + // To specify a web ACL created using the latest version of AWS WAF (WAFv2), use the ACL ARN, + // for example `aws_wafv2_web_acl.example.arn`. To specify a web + // ACL created using AWS WAF Classic, use the ACL ID, for example `aws_waf_web_acl.example.id`. + // The WAF Web ACL must exist in the WAF Global (CloudFront) region and the + // credentials configuring this argument must have `waf:GetWebACL` permissions assigned. WebAclId pulumi.StringPtrInput } @@ -406,11 +412,13 @@ type distributionArgs struct { // the distribution status to change from `InProgress` to `Deployed`. Setting // this to`false` will skip the process. Default: `true`. WaitForDeployment *bool `pulumi:"waitForDeployment"` - // If you're using AWS WAF to filter CloudFront - // requests, the Id of the AWS WAF web ACL that is associated with the - // distribution. The WAF Web ACL must exist in the WAF Global (CloudFront) - // region and the credentials configuring this argument must have - // `waf:GetWebACL` permissions assigned. If using WAFv2, provide the ARN of the web ACL. + // A unique identifier that specifies the AWS WAF web ACL, + // if any, to associate with this distribution. + // To specify a web ACL created using the latest version of AWS WAF (WAFv2), use the ACL ARN, + // for example `aws_wafv2_web_acl.example.arn`. To specify a web + // ACL created using AWS WAF Classic, use the ACL ID, for example `aws_waf_web_acl.example.id`. + // The WAF Web ACL must exist in the WAF Global (CloudFront) region and the + // credentials configuring this argument must have `waf:GetWebACL` permissions assigned. WebAclId *string `pulumi:"webAclId"` } @@ -473,11 +481,13 @@ type DistributionArgs struct { // the distribution status to change from `InProgress` to `Deployed`. Setting // this to`false` will skip the process. Default: `true`. WaitForDeployment pulumi.BoolPtrInput - // If you're using AWS WAF to filter CloudFront - // requests, the Id of the AWS WAF web ACL that is associated with the - // distribution. The WAF Web ACL must exist in the WAF Global (CloudFront) - // region and the credentials configuring this argument must have - // `waf:GetWebACL` permissions assigned. If using WAFv2, provide the ARN of the web ACL. + // A unique identifier that specifies the AWS WAF web ACL, + // if any, to associate with this distribution. + // To specify a web ACL created using the latest version of AWS WAF (WAFv2), use the ACL ARN, + // for example `aws_wafv2_web_acl.example.arn`. To specify a web + // ACL created using AWS WAF Classic, use the ACL ID, for example `aws_waf_web_acl.example.id`. + // The WAF Web ACL must exist in the WAF Global (CloudFront) region and the + // credentials configuring this argument must have `waf:GetWebACL` permissions assigned. WebAclId pulumi.StringPtrInput } diff --git a/sdk/go/aws/codeartifact/getAuthorizationToken.go b/sdk/go/aws/codeartifact/getAuthorizationToken.go new file mode 100644 index 00000000000..a8771e990bc --- /dev/null +++ b/sdk/go/aws/codeartifact/getAuthorizationToken.go @@ -0,0 +1,64 @@ +// *** 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! *** + +package codeartifact + +import ( + "github.com/pulumi/pulumi/sdk/v2/go/pulumi" +) + +// The CodeArtifact Authorization Token data source generates a temporary authentication token for accessing repositories in a CodeArtifact domain. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// "github.com/pulumi/pulumi-aws/sdk/v3/go/aws/codeartifact" +// "github.com/pulumi/pulumi/sdk/v2/go/pulumi" +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := codeartifact.GetAuthorizationToken(ctx, &codeartifact.GetAuthorizationTokenArgs{ +// Domain: aws_codeartifact_domain.Test.Domain, +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// ``` +func GetAuthorizationToken(ctx *pulumi.Context, args *GetAuthorizationTokenArgs, opts ...pulumi.InvokeOption) (*GetAuthorizationTokenResult, error) { + var rv GetAuthorizationTokenResult + err := ctx.Invoke("aws:codeartifact/getAuthorizationToken:getAuthorizationToken", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getAuthorizationToken. +type GetAuthorizationTokenArgs struct { + // The name of the domain that is in scope for the generated authorization token. + Domain string `pulumi:"domain"` + // The account number of the AWS account that owns the domain. + DomainOwner *string `pulumi:"domainOwner"` + // The time, in seconds, that the generated authorization token is valid. Valid values are `0` and between `900` and `43200`. + DurationSeconds *int `pulumi:"durationSeconds"` +} + +// A collection of values returned by getAuthorizationToken. +type GetAuthorizationTokenResult struct { + // Temporary authorization token. + AuthorizationToken string `pulumi:"authorizationToken"` + Domain string `pulumi:"domain"` + DomainOwner string `pulumi:"domainOwner"` + DurationSeconds *int `pulumi:"durationSeconds"` + // The time in UTC RFC3339 format when the authorization token expires. + Expiration string `pulumi:"expiration"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` +} diff --git a/sdk/go/aws/codeartifact/repositoryPermissionsPolicy.go b/sdk/go/aws/codeartifact/repositoryPermissionsPolicy.go new file mode 100644 index 00000000000..d1965edcd63 --- /dev/null +++ b/sdk/go/aws/codeartifact/repositoryPermissionsPolicy.go @@ -0,0 +1,130 @@ +// *** 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! *** + +package codeartifact + +import ( + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v2/go/pulumi" +) + +// Provides a CodeArtifact Repostory Permissions Policy Resource. +type RepositoryPermissionsPolicy struct { + pulumi.CustomResourceState + + // The name of the domain on which to set the resource policy. + Domain pulumi.StringOutput `pulumi:"domain"` + // The account number of the AWS account that owns the domain. + DomainOwner pulumi.StringOutput `pulumi:"domainOwner"` + // A JSON policy string to be set as the access control resource policy on the provided domain. + PolicyDocument pulumi.StringOutput `pulumi:"policyDocument"` + // The current revision of the resource policy to be set. This revision is used for optimistic locking, which prevents others from overwriting your changes to the domain's resource policy. + PolicyRevision pulumi.StringOutput `pulumi:"policyRevision"` + // The name of the repository to set the resource policy on. + Repository pulumi.StringOutput `pulumi:"repository"` + // The ARN of the resource associated with the resource policy. + ResourceArn pulumi.StringOutput `pulumi:"resourceArn"` +} + +// NewRepositoryPermissionsPolicy registers a new resource with the given unique name, arguments, and options. +func NewRepositoryPermissionsPolicy(ctx *pulumi.Context, + name string, args *RepositoryPermissionsPolicyArgs, opts ...pulumi.ResourceOption) (*RepositoryPermissionsPolicy, error) { + if args == nil || args.Domain == nil { + return nil, errors.New("missing required argument 'Domain'") + } + if args == nil || args.PolicyDocument == nil { + return nil, errors.New("missing required argument 'PolicyDocument'") + } + if args == nil || args.Repository == nil { + return nil, errors.New("missing required argument 'Repository'") + } + if args == nil { + args = &RepositoryPermissionsPolicyArgs{} + } + var resource RepositoryPermissionsPolicy + err := ctx.RegisterResource("aws:codeartifact/repositoryPermissionsPolicy:RepositoryPermissionsPolicy", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetRepositoryPermissionsPolicy gets an existing RepositoryPermissionsPolicy 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 GetRepositoryPermissionsPolicy(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *RepositoryPermissionsPolicyState, opts ...pulumi.ResourceOption) (*RepositoryPermissionsPolicy, error) { + var resource RepositoryPermissionsPolicy + err := ctx.ReadResource("aws:codeartifact/repositoryPermissionsPolicy:RepositoryPermissionsPolicy", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering RepositoryPermissionsPolicy resources. +type repositoryPermissionsPolicyState struct { + // The name of the domain on which to set the resource policy. + Domain *string `pulumi:"domain"` + // The account number of the AWS account that owns the domain. + DomainOwner *string `pulumi:"domainOwner"` + // A JSON policy string to be set as the access control resource policy on the provided domain. + PolicyDocument *string `pulumi:"policyDocument"` + // The current revision of the resource policy to be set. This revision is used for optimistic locking, which prevents others from overwriting your changes to the domain's resource policy. + PolicyRevision *string `pulumi:"policyRevision"` + // The name of the repository to set the resource policy on. + Repository *string `pulumi:"repository"` + // The ARN of the resource associated with the resource policy. + ResourceArn *string `pulumi:"resourceArn"` +} + +type RepositoryPermissionsPolicyState struct { + // The name of the domain on which to set the resource policy. + Domain pulumi.StringPtrInput + // The account number of the AWS account that owns the domain. + DomainOwner pulumi.StringPtrInput + // A JSON policy string to be set as the access control resource policy on the provided domain. + PolicyDocument pulumi.StringPtrInput + // The current revision of the resource policy to be set. This revision is used for optimistic locking, which prevents others from overwriting your changes to the domain's resource policy. + PolicyRevision pulumi.StringPtrInput + // The name of the repository to set the resource policy on. + Repository pulumi.StringPtrInput + // The ARN of the resource associated with the resource policy. + ResourceArn pulumi.StringPtrInput +} + +func (RepositoryPermissionsPolicyState) ElementType() reflect.Type { + return reflect.TypeOf((*repositoryPermissionsPolicyState)(nil)).Elem() +} + +type repositoryPermissionsPolicyArgs struct { + // The name of the domain on which to set the resource policy. + Domain string `pulumi:"domain"` + // The account number of the AWS account that owns the domain. + DomainOwner *string `pulumi:"domainOwner"` + // A JSON policy string to be set as the access control resource policy on the provided domain. + PolicyDocument string `pulumi:"policyDocument"` + // The current revision of the resource policy to be set. This revision is used for optimistic locking, which prevents others from overwriting your changes to the domain's resource policy. + PolicyRevision *string `pulumi:"policyRevision"` + // The name of the repository to set the resource policy on. + Repository string `pulumi:"repository"` +} + +// The set of arguments for constructing a RepositoryPermissionsPolicy resource. +type RepositoryPermissionsPolicyArgs struct { + // The name of the domain on which to set the resource policy. + Domain pulumi.StringInput + // The account number of the AWS account that owns the domain. + DomainOwner pulumi.StringPtrInput + // A JSON policy string to be set as the access control resource policy on the provided domain. + PolicyDocument pulumi.StringInput + // The current revision of the resource policy to be set. This revision is used for optimistic locking, which prevents others from overwriting your changes to the domain's resource policy. + PolicyRevision pulumi.StringPtrInput + // The name of the repository to set the resource policy on. + Repository pulumi.StringInput +} + +func (RepositoryPermissionsPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*repositoryPermissionsPolicyArgs)(nil)).Elem() +} diff --git a/sdk/go/aws/config/pulumiTypes.go b/sdk/go/aws/config/pulumiTypes.go index b391ce4ca0a..33ff545c658 100644 --- a/sdk/go/aws/config/pulumiTypes.go +++ b/sdk/go/aws/config/pulumiTypes.go @@ -236,6 +236,7 @@ type Endpoints struct { Sts *string `pulumi:"sts"` Swf *string `pulumi:"swf"` Synthetics *string `pulumi:"synthetics"` + Timestreamwrite *string `pulumi:"timestreamwrite"` Transfer *string `pulumi:"transfer"` Waf *string `pulumi:"waf"` Wafregional *string `pulumi:"wafregional"` @@ -392,6 +393,7 @@ type EndpointsArgs struct { Sts pulumi.StringPtrInput `pulumi:"sts"` Swf pulumi.StringPtrInput `pulumi:"swf"` Synthetics pulumi.StringPtrInput `pulumi:"synthetics"` + Timestreamwrite pulumi.StringPtrInput `pulumi:"timestreamwrite"` Transfer pulumi.StringPtrInput `pulumi:"transfer"` Waf pulumi.StringPtrInput `pulumi:"waf"` Wafregional pulumi.StringPtrInput `pulumi:"wafregional"` @@ -989,6 +991,10 @@ func (o EndpointsOutput) Synthetics() pulumi.StringPtrOutput { return o.ApplyT(func(v Endpoints) *string { return v.Synthetics }).(pulumi.StringPtrOutput) } +func (o EndpointsOutput) Timestreamwrite() pulumi.StringPtrOutput { + return o.ApplyT(func(v Endpoints) *string { return v.Timestreamwrite }).(pulumi.StringPtrOutput) +} + func (o EndpointsOutput) Transfer() pulumi.StringPtrOutput { return o.ApplyT(func(v Endpoints) *string { return v.Transfer }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/aws/docdb/clusterInstance.go b/sdk/go/aws/docdb/clusterInstance.go index 71c3ba0a33c..86c3d6ab9b4 100644 --- a/sdk/go/aws/docdb/clusterInstance.go +++ b/sdk/go/aws/docdb/clusterInstance.go @@ -88,9 +88,9 @@ type ClusterInstance struct { Engine pulumi.StringPtrOutput `pulumi:"engine"` // The database engine version EngineVersion pulumi.StringOutput `pulumi:"engineVersion"` - // The indentifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier. + // The identifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier. Identifier pulumi.StringOutput `pulumi:"identifier"` - // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifer`. + // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. IdentifierPrefix pulumi.StringOutput `pulumi:"identifierPrefix"` // The instance class to use. For details on CPU and memory, see [Scaling for DocDB Instances](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-cluster-manage-performance.html#db-cluster-manage-scaling-instance). DocDB currently // supports the below instance classes. Please see [AWS Documentation](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-instance-classes.html#db-instance-class-specs) for complete details. @@ -178,9 +178,9 @@ type clusterInstanceState struct { Engine *string `pulumi:"engine"` // The database engine version EngineVersion *string `pulumi:"engineVersion"` - // The indentifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier. + // The identifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier. Identifier *string `pulumi:"identifier"` - // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifer`. + // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. IdentifierPrefix *string `pulumi:"identifierPrefix"` // The instance class to use. For details on CPU and memory, see [Scaling for DocDB Instances](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-cluster-manage-performance.html#db-cluster-manage-scaling-instance). DocDB currently // supports the below instance classes. Please see [AWS Documentation](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-instance-classes.html#db-instance-class-specs) for complete details. @@ -235,9 +235,9 @@ type ClusterInstanceState struct { Engine pulumi.StringPtrInput // The database engine version EngineVersion pulumi.StringPtrInput - // The indentifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier. + // The identifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier. Identifier pulumi.StringPtrInput - // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifer`. + // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. IdentifierPrefix pulumi.StringPtrInput // The instance class to use. For details on CPU and memory, see [Scaling for DocDB Instances](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-cluster-manage-performance.html#db-cluster-manage-scaling-instance). DocDB currently // supports the below instance classes. Please see [AWS Documentation](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-instance-classes.html#db-instance-class-specs) for complete details. @@ -286,9 +286,9 @@ type clusterInstanceArgs struct { ClusterIdentifier string `pulumi:"clusterIdentifier"` // The name of the database engine to be used for the DocDB instance. Defaults to `docdb`. Valid Values: `docdb`. Engine *string `pulumi:"engine"` - // The indentifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier. + // The identifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier. Identifier *string `pulumi:"identifier"` - // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifer`. + // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. IdentifierPrefix *string `pulumi:"identifierPrefix"` // The instance class to use. For details on CPU and memory, see [Scaling for DocDB Instances](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-cluster-manage-performance.html#db-cluster-manage-scaling-instance). DocDB currently // supports the below instance classes. Please see [AWS Documentation](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-instance-classes.html#db-instance-class-specs) for complete details. @@ -323,9 +323,9 @@ type ClusterInstanceArgs struct { ClusterIdentifier pulumi.StringInput // The name of the database engine to be used for the DocDB instance. Defaults to `docdb`. Valid Values: `docdb`. Engine pulumi.StringPtrInput - // The indentifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier. + // The identifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier. Identifier pulumi.StringPtrInput - // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifer`. + // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. IdentifierPrefix pulumi.StringPtrInput // The instance class to use. For details on CPU and memory, see [Scaling for DocDB Instances](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-cluster-manage-performance.html#db-cluster-manage-scaling-instance). DocDB currently // supports the below instance classes. Please see [AWS Documentation](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-instance-classes.html#db-instance-class-specs) for complete details. diff --git a/sdk/go/aws/ec2/getInstanceType.go b/sdk/go/aws/ec2/getInstanceType.go new file mode 100644 index 00000000000..0ad7aee85c9 --- /dev/null +++ b/sdk/go/aws/ec2/getInstanceType.go @@ -0,0 +1,192 @@ +// *** 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! *** + +package ec2 + +import ( + "github.com/pulumi/pulumi/sdk/v2/go/pulumi" +) + +// Get characteristics for a single EC2 Instance Type. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// "github.com/pulumi/pulumi-aws/sdk/v3/go/aws/ec2" +// "github.com/pulumi/pulumi/sdk/v2/go/pulumi" +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := ec2.GetInstanceType(ctx, &ec2.GetInstanceTypeArgs{ +// InstanceType: "t2.micro", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// ``` +func GetInstanceType(ctx *pulumi.Context, args *GetInstanceTypeArgs, opts ...pulumi.InvokeOption) (*GetInstanceTypeResult, error) { + var rv GetInstanceTypeResult + err := ctx.Invoke("aws:ec2/getInstanceType:getInstanceType", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getInstanceType. +type GetInstanceTypeArgs struct { + // The default number of cores for the instance type. + DefaultCores *int `pulumi:"defaultCores"` + // The default number of threads per core for the instance type. + DefaultThreadsPerCore *int `pulumi:"defaultThreadsPerCore"` + // Describes the FPGA accelerator settings for the instance type. + // * `fpgas.#.count` - The count of FPGA accelerators for the instance type. + // * `fpgas.#.manufacturer` - The manufacturer of the FPGA accelerator. + // * `fpgas.#.memory_size` - The size (in MiB) for the memory available to the FPGA accelerator. + // * `fpgas.#.name` - The name of the FPGA accelerator. + Fpgas []GetInstanceTypeFpga `pulumi:"fpgas"` + // Describes the GPU accelerators for the instance type. + // * `gpus.#.count` - The number of GPUs for the instance type. + // * `gpus.#.manufacturer` - The manufacturer of the GPU accelerator. + // * `gpus.#.memory_size` - The size (in MiB) for the memory available to the GPU accelerator. + // * `gpus.#.name` - The name of the GPU accelerator. + Gpuses []GetInstanceTypeGpus `pulumi:"gpuses"` + // Indicates the hypervisor used for the instance type. + // * `inferenceAccelerators` Describes the Inference accelerators for the instance type. + // * `inference_accelerators.#.count` - The number of Inference accelerators for the instance type. + // * `inference_accelerators.#.manufacturer` - The manufacturer of the Inference accelerator. + // * `inference_accelerators.#.name` - The name of the Inference accelerator. + Hypervisor *string `pulumi:"hypervisor"` + InferenceAccelerators []GetInstanceTypeInferenceAccelerator `pulumi:"inferenceAccelerators"` + // Describes the disks for the instance type. + // * `instance_disks.#.count` - The number of disks with this configuration. + // * `instance_disks.#.size` - The size of the disk in GB. + // * `instance_disks.#.type` - The type of disk. + InstanceDisks []GetInstanceTypeInstanceDisk `pulumi:"instanceDisks"` + // Instance + InstanceType string `pulumi:"instanceType"` + // The maximum number of IPv6 addresses per network interface. + MaximumIpv6AddressesPerInterface *int `pulumi:"maximumIpv6AddressesPerInterface"` + // The total memory of all FPGA accelerators for the instance type (in MiB). + TotalFpgaMemory *int `pulumi:"totalFpgaMemory"` + // The total size of the memory for the GPU accelerators for the instance type (in MiB). + TotalGpuMemory *int `pulumi:"totalGpuMemory"` + // The total size of the instance disks, in GB. + TotalInstanceStorage *int `pulumi:"totalInstanceStorage"` +} + +// A collection of values returned by getInstanceType. +type GetInstanceTypeResult struct { + // `true` if auto recovery is supported. + AutoRecoverySupported bool `pulumi:"autoRecoverySupported"` + // `true` if it is a bare metal instance type. + BareMetal bool `pulumi:"bareMetal"` + // `true` if the instance type is a burstable performance instance type. + BurstablePerformanceSupported bool `pulumi:"burstablePerformanceSupported"` + // `true` if the instance type is a current generation. + CurrentGeneration bool `pulumi:"currentGeneration"` + // `true` if Dedicated Hosts are supported on the instance type. + DedicatedHostsSupported bool `pulumi:"dedicatedHostsSupported"` + // The default number of cores for the instance type. + DefaultCores int `pulumi:"defaultCores"` + // The default number of threads per core for the instance type. + DefaultThreadsPerCore int `pulumi:"defaultThreadsPerCore"` + // The default number of vCPUs for the instance type. + DefaultVcpus int `pulumi:"defaultVcpus"` + // Indicates whether Amazon EBS encryption is supported. + EbsEncryptionSupport string `pulumi:"ebsEncryptionSupport"` + // Indicates whether non-volatile memory express (NVMe) is supported. + EbsNvmeSupport string `pulumi:"ebsNvmeSupport"` + // Indicates that the instance type is Amazon EBS-optimized. + EbsOptimizedSupport string `pulumi:"ebsOptimizedSupport"` + // The baseline bandwidth performance for an EBS-optimized instance type, in Mbps. + EbsPerformanceBaselineBandwidth int `pulumi:"ebsPerformanceBaselineBandwidth"` + // The baseline input/output storage operations per seconds for an EBS-optimized instance type. + EbsPerformanceBaselineIops int `pulumi:"ebsPerformanceBaselineIops"` + // The baseline throughput performance for an EBS-optimized instance type, in MBps. + EbsPerformanceBaselineThroughput float64 `pulumi:"ebsPerformanceBaselineThroughput"` + // The maximum bandwidth performance for an EBS-optimized instance type, in Mbps. + EbsPerformanceMaximumBandwidth int `pulumi:"ebsPerformanceMaximumBandwidth"` + // The maximum input/output storage operations per second for an EBS-optimized instance type. + EbsPerformanceMaximumIops int `pulumi:"ebsPerformanceMaximumIops"` + // The maximum throughput performance for an EBS-optimized instance type, in MBps. + EbsPerformanceMaximumThroughput float64 `pulumi:"ebsPerformanceMaximumThroughput"` + // Indicates whether Elastic Fabric Adapter (EFA) is supported. + EfaSupported bool `pulumi:"efaSupported"` + // Indicates whether Elastic Network Adapter (ENA) is supported. + EnaSupport string `pulumi:"enaSupport"` + // Describes the FPGA accelerator settings for the instance type. + // * `fpgas.#.count` - The count of FPGA accelerators for the instance type. + // * `fpgas.#.manufacturer` - The manufacturer of the FPGA accelerator. + // * `fpgas.#.memory_size` - The size (in MiB) for the memory available to the FPGA accelerator. + // * `fpgas.#.name` - The name of the FPGA accelerator. + Fpgas []GetInstanceTypeFpga `pulumi:"fpgas"` + // `true` if the instance type is eligible for the free tier. + FreeTierEligible bool `pulumi:"freeTierEligible"` + // Describes the GPU accelerators for the instance type. + // * `gpus.#.count` - The number of GPUs for the instance type. + // * `gpus.#.manufacturer` - The manufacturer of the GPU accelerator. + // * `gpus.#.memory_size` - The size (in MiB) for the memory available to the GPU accelerator. + // * `gpus.#.name` - The name of the GPU accelerator. + Gpuses []GetInstanceTypeGpus `pulumi:"gpuses"` + // `true` if On-Demand hibernation is supported. + HibernationSupported bool `pulumi:"hibernationSupported"` + // Indicates the hypervisor used for the instance type. + // * `inferenceAccelerators` Describes the Inference accelerators for the instance type. + // * `inference_accelerators.#.count` - The number of Inference accelerators for the instance type. + // * `inference_accelerators.#.manufacturer` - The manufacturer of the Inference accelerator. + // * `inference_accelerators.#.name` - The name of the Inference accelerator. + Hypervisor string `pulumi:"hypervisor"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + InferenceAccelerators []GetInstanceTypeInferenceAccelerator `pulumi:"inferenceAccelerators"` + // Describes the disks for the instance type. + // * `instance_disks.#.count` - The number of disks with this configuration. + // * `instance_disks.#.size` - The size of the disk in GB. + // * `instance_disks.#.type` - The type of disk. + InstanceDisks []GetInstanceTypeInstanceDisk `pulumi:"instanceDisks"` + // `true` if instance storage is supported. + InstanceStorageSupported bool `pulumi:"instanceStorageSupported"` + InstanceType string `pulumi:"instanceType"` + // `true` if IPv6 is supported. + Ipv6Supported bool `pulumi:"ipv6Supported"` + // The maximum number of IPv4 addresses per network interface. + MaximumIpv4AddressesPerInterface int `pulumi:"maximumIpv4AddressesPerInterface"` + // The maximum number of IPv6 addresses per network interface. + MaximumIpv6AddressesPerInterface int `pulumi:"maximumIpv6AddressesPerInterface"` + // The maximum number of network interfaces for the instance type. + MaximumNetworkInterfaces int `pulumi:"maximumNetworkInterfaces"` + // Size of the instance memory, in MiB. + MemorySize int `pulumi:"memorySize"` + // Describes the network performance. + NetworkPerformance string `pulumi:"networkPerformance"` + // A list of architectures supported by the instance type. + SupportedArchitectures []string `pulumi:"supportedArchitectures"` + // A list of supported placement groups types. + SupportedPlacementStrategies []string `pulumi:"supportedPlacementStrategies"` + // Indicates the supported root device types. + SupportedRootDeviceTypes []string `pulumi:"supportedRootDeviceTypes"` + // Indicates whether the instance type is offered for spot or On-Demand. + SupportedUsagesClasses []string `pulumi:"supportedUsagesClasses"` + // The supported virtualization types. + SupportedVirtualizationTypes []string `pulumi:"supportedVirtualizationTypes"` + // The speed of the processor, in GHz. + SustainedClockSpeed float64 `pulumi:"sustainedClockSpeed"` + // The total memory of all FPGA accelerators for the instance type (in MiB). + TotalFpgaMemory int `pulumi:"totalFpgaMemory"` + // The total size of the memory for the GPU accelerators for the instance type (in MiB). + TotalGpuMemory int `pulumi:"totalGpuMemory"` + // The total size of the instance disks, in GB. + TotalInstanceStorage int `pulumi:"totalInstanceStorage"` + // List of the valid number of cores that can be configured for the instance type. + ValidCores []int `pulumi:"validCores"` + // List of the valid number of threads per core that can be configured for the instance type. + ValidThreadsPerCores []int `pulumi:"validThreadsPerCores"` +} diff --git a/sdk/go/aws/ec2/getVpcEndpointService.go b/sdk/go/aws/ec2/getVpcEndpointService.go index 168d6f21d9c..c7f674c1303 100644 --- a/sdk/go/aws/ec2/getVpcEndpointService.go +++ b/sdk/go/aws/ec2/getVpcEndpointService.go @@ -24,8 +24,10 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // opt0 := "s3" +// opt1 := "Gateway" // s3, err := ec2.LookupVpcEndpointService(ctx, &ec2.LookupVpcEndpointServiceArgs{ -// Service: &opt0, +// Service: &opt0, +// ServiceType: &opt1, // }, nil) // if err != nil { // return err @@ -116,6 +118,8 @@ type LookupVpcEndpointServiceArgs struct { Service *string `pulumi:"service"` // The service name that is specified when creating a VPC endpoint. For AWS services the service name is usually in the form `com.amazonaws..` (the SageMaker Notebook service is an exception to this rule, the service name is in the form `aws.sagemaker..notebook`). ServiceName *string `pulumi:"serviceName"` + // The service type, `Gateway` or `Interface`. + ServiceType *string `pulumi:"serviceType"` // A map of tags, each pair of which must exactly match a pair on the desired VPC Endpoint Service. Tags map[string]string `pulumi:"tags"` } @@ -143,7 +147,6 @@ type LookupVpcEndpointServiceResult struct { // The ID of the endpoint service. ServiceId string `pulumi:"serviceId"` ServiceName string `pulumi:"serviceName"` - // The service type, `Gateway` or `Interface`. ServiceType string `pulumi:"serviceType"` // A map of tags assigned to the resource. Tags map[string]string `pulumi:"tags"` diff --git a/sdk/go/aws/ec2/pulumiTypes.go b/sdk/go/aws/ec2/pulumiTypes.go index 6c693782cec..68ebea77acd 100644 --- a/sdk/go/aws/ec2/pulumiTypes.go +++ b/sdk/go/aws/ec2/pulumiTypes.go @@ -12603,6 +12603,448 @@ func (o GetInstanceRootBlockDeviceArrayOutput) Index(i pulumi.IntInput) GetInsta }).(GetInstanceRootBlockDeviceOutput) } +type GetInstanceTypeFpga struct { + Count int `pulumi:"count"` + Manufacturer string `pulumi:"manufacturer"` + // Size of the instance memory, in MiB. + MemorySize int `pulumi:"memorySize"` + Name string `pulumi:"name"` +} + +// GetInstanceTypeFpgaInput is an input type that accepts GetInstanceTypeFpgaArgs and GetInstanceTypeFpgaOutput values. +// You can construct a concrete instance of `GetInstanceTypeFpgaInput` via: +// +// GetInstanceTypeFpgaArgs{...} +type GetInstanceTypeFpgaInput interface { + pulumi.Input + + ToGetInstanceTypeFpgaOutput() GetInstanceTypeFpgaOutput + ToGetInstanceTypeFpgaOutputWithContext(context.Context) GetInstanceTypeFpgaOutput +} + +type GetInstanceTypeFpgaArgs struct { + Count pulumi.IntInput `pulumi:"count"` + Manufacturer pulumi.StringInput `pulumi:"manufacturer"` + // Size of the instance memory, in MiB. + MemorySize pulumi.IntInput `pulumi:"memorySize"` + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetInstanceTypeFpgaArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstanceTypeFpga)(nil)).Elem() +} + +func (i GetInstanceTypeFpgaArgs) ToGetInstanceTypeFpgaOutput() GetInstanceTypeFpgaOutput { + return i.ToGetInstanceTypeFpgaOutputWithContext(context.Background()) +} + +func (i GetInstanceTypeFpgaArgs) ToGetInstanceTypeFpgaOutputWithContext(ctx context.Context) GetInstanceTypeFpgaOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstanceTypeFpgaOutput) +} + +// GetInstanceTypeFpgaArrayInput is an input type that accepts GetInstanceTypeFpgaArray and GetInstanceTypeFpgaArrayOutput values. +// You can construct a concrete instance of `GetInstanceTypeFpgaArrayInput` via: +// +// GetInstanceTypeFpgaArray{ GetInstanceTypeFpgaArgs{...} } +type GetInstanceTypeFpgaArrayInput interface { + pulumi.Input + + ToGetInstanceTypeFpgaArrayOutput() GetInstanceTypeFpgaArrayOutput + ToGetInstanceTypeFpgaArrayOutputWithContext(context.Context) GetInstanceTypeFpgaArrayOutput +} + +type GetInstanceTypeFpgaArray []GetInstanceTypeFpgaInput + +func (GetInstanceTypeFpgaArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetInstanceTypeFpga)(nil)).Elem() +} + +func (i GetInstanceTypeFpgaArray) ToGetInstanceTypeFpgaArrayOutput() GetInstanceTypeFpgaArrayOutput { + return i.ToGetInstanceTypeFpgaArrayOutputWithContext(context.Background()) +} + +func (i GetInstanceTypeFpgaArray) ToGetInstanceTypeFpgaArrayOutputWithContext(ctx context.Context) GetInstanceTypeFpgaArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstanceTypeFpgaArrayOutput) +} + +type GetInstanceTypeFpgaOutput struct{ *pulumi.OutputState } + +func (GetInstanceTypeFpgaOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstanceTypeFpga)(nil)).Elem() +} + +func (o GetInstanceTypeFpgaOutput) ToGetInstanceTypeFpgaOutput() GetInstanceTypeFpgaOutput { + return o +} + +func (o GetInstanceTypeFpgaOutput) ToGetInstanceTypeFpgaOutputWithContext(ctx context.Context) GetInstanceTypeFpgaOutput { + return o +} + +func (o GetInstanceTypeFpgaOutput) Count() pulumi.IntOutput { + return o.ApplyT(func(v GetInstanceTypeFpga) int { return v.Count }).(pulumi.IntOutput) +} + +func (o GetInstanceTypeFpgaOutput) Manufacturer() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceTypeFpga) string { return v.Manufacturer }).(pulumi.StringOutput) +} + +// Size of the instance memory, in MiB. +func (o GetInstanceTypeFpgaOutput) MemorySize() pulumi.IntOutput { + return o.ApplyT(func(v GetInstanceTypeFpga) int { return v.MemorySize }).(pulumi.IntOutput) +} + +func (o GetInstanceTypeFpgaOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceTypeFpga) string { return v.Name }).(pulumi.StringOutput) +} + +type GetInstanceTypeFpgaArrayOutput struct{ *pulumi.OutputState } + +func (GetInstanceTypeFpgaArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetInstanceTypeFpga)(nil)).Elem() +} + +func (o GetInstanceTypeFpgaArrayOutput) ToGetInstanceTypeFpgaArrayOutput() GetInstanceTypeFpgaArrayOutput { + return o +} + +func (o GetInstanceTypeFpgaArrayOutput) ToGetInstanceTypeFpgaArrayOutputWithContext(ctx context.Context) GetInstanceTypeFpgaArrayOutput { + return o +} + +func (o GetInstanceTypeFpgaArrayOutput) Index(i pulumi.IntInput) GetInstanceTypeFpgaOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetInstanceTypeFpga { + return vs[0].([]GetInstanceTypeFpga)[vs[1].(int)] + }).(GetInstanceTypeFpgaOutput) +} + +type GetInstanceTypeGpus struct { + Count int `pulumi:"count"` + Manufacturer string `pulumi:"manufacturer"` + // Size of the instance memory, in MiB. + MemorySize int `pulumi:"memorySize"` + Name string `pulumi:"name"` +} + +// GetInstanceTypeGpusInput is an input type that accepts GetInstanceTypeGpusArgs and GetInstanceTypeGpusOutput values. +// You can construct a concrete instance of `GetInstanceTypeGpusInput` via: +// +// GetInstanceTypeGpusArgs{...} +type GetInstanceTypeGpusInput interface { + pulumi.Input + + ToGetInstanceTypeGpusOutput() GetInstanceTypeGpusOutput + ToGetInstanceTypeGpusOutputWithContext(context.Context) GetInstanceTypeGpusOutput +} + +type GetInstanceTypeGpusArgs struct { + Count pulumi.IntInput `pulumi:"count"` + Manufacturer pulumi.StringInput `pulumi:"manufacturer"` + // Size of the instance memory, in MiB. + MemorySize pulumi.IntInput `pulumi:"memorySize"` + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetInstanceTypeGpusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstanceTypeGpus)(nil)).Elem() +} + +func (i GetInstanceTypeGpusArgs) ToGetInstanceTypeGpusOutput() GetInstanceTypeGpusOutput { + return i.ToGetInstanceTypeGpusOutputWithContext(context.Background()) +} + +func (i GetInstanceTypeGpusArgs) ToGetInstanceTypeGpusOutputWithContext(ctx context.Context) GetInstanceTypeGpusOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstanceTypeGpusOutput) +} + +// GetInstanceTypeGpusArrayInput is an input type that accepts GetInstanceTypeGpusArray and GetInstanceTypeGpusArrayOutput values. +// You can construct a concrete instance of `GetInstanceTypeGpusArrayInput` via: +// +// GetInstanceTypeGpusArray{ GetInstanceTypeGpusArgs{...} } +type GetInstanceTypeGpusArrayInput interface { + pulumi.Input + + ToGetInstanceTypeGpusArrayOutput() GetInstanceTypeGpusArrayOutput + ToGetInstanceTypeGpusArrayOutputWithContext(context.Context) GetInstanceTypeGpusArrayOutput +} + +type GetInstanceTypeGpusArray []GetInstanceTypeGpusInput + +func (GetInstanceTypeGpusArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetInstanceTypeGpus)(nil)).Elem() +} + +func (i GetInstanceTypeGpusArray) ToGetInstanceTypeGpusArrayOutput() GetInstanceTypeGpusArrayOutput { + return i.ToGetInstanceTypeGpusArrayOutputWithContext(context.Background()) +} + +func (i GetInstanceTypeGpusArray) ToGetInstanceTypeGpusArrayOutputWithContext(ctx context.Context) GetInstanceTypeGpusArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstanceTypeGpusArrayOutput) +} + +type GetInstanceTypeGpusOutput struct{ *pulumi.OutputState } + +func (GetInstanceTypeGpusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstanceTypeGpus)(nil)).Elem() +} + +func (o GetInstanceTypeGpusOutput) ToGetInstanceTypeGpusOutput() GetInstanceTypeGpusOutput { + return o +} + +func (o GetInstanceTypeGpusOutput) ToGetInstanceTypeGpusOutputWithContext(ctx context.Context) GetInstanceTypeGpusOutput { + return o +} + +func (o GetInstanceTypeGpusOutput) Count() pulumi.IntOutput { + return o.ApplyT(func(v GetInstanceTypeGpus) int { return v.Count }).(pulumi.IntOutput) +} + +func (o GetInstanceTypeGpusOutput) Manufacturer() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceTypeGpus) string { return v.Manufacturer }).(pulumi.StringOutput) +} + +// Size of the instance memory, in MiB. +func (o GetInstanceTypeGpusOutput) MemorySize() pulumi.IntOutput { + return o.ApplyT(func(v GetInstanceTypeGpus) int { return v.MemorySize }).(pulumi.IntOutput) +} + +func (o GetInstanceTypeGpusOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceTypeGpus) string { return v.Name }).(pulumi.StringOutput) +} + +type GetInstanceTypeGpusArrayOutput struct{ *pulumi.OutputState } + +func (GetInstanceTypeGpusArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetInstanceTypeGpus)(nil)).Elem() +} + +func (o GetInstanceTypeGpusArrayOutput) ToGetInstanceTypeGpusArrayOutput() GetInstanceTypeGpusArrayOutput { + return o +} + +func (o GetInstanceTypeGpusArrayOutput) ToGetInstanceTypeGpusArrayOutputWithContext(ctx context.Context) GetInstanceTypeGpusArrayOutput { + return o +} + +func (o GetInstanceTypeGpusArrayOutput) Index(i pulumi.IntInput) GetInstanceTypeGpusOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetInstanceTypeGpus { + return vs[0].([]GetInstanceTypeGpus)[vs[1].(int)] + }).(GetInstanceTypeGpusOutput) +} + +type GetInstanceTypeInferenceAccelerator struct { + Count int `pulumi:"count"` + Manufacturer string `pulumi:"manufacturer"` + Name string `pulumi:"name"` +} + +// GetInstanceTypeInferenceAcceleratorInput is an input type that accepts GetInstanceTypeInferenceAcceleratorArgs and GetInstanceTypeInferenceAcceleratorOutput values. +// You can construct a concrete instance of `GetInstanceTypeInferenceAcceleratorInput` via: +// +// GetInstanceTypeInferenceAcceleratorArgs{...} +type GetInstanceTypeInferenceAcceleratorInput interface { + pulumi.Input + + ToGetInstanceTypeInferenceAcceleratorOutput() GetInstanceTypeInferenceAcceleratorOutput + ToGetInstanceTypeInferenceAcceleratorOutputWithContext(context.Context) GetInstanceTypeInferenceAcceleratorOutput +} + +type GetInstanceTypeInferenceAcceleratorArgs struct { + Count pulumi.IntInput `pulumi:"count"` + Manufacturer pulumi.StringInput `pulumi:"manufacturer"` + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetInstanceTypeInferenceAcceleratorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstanceTypeInferenceAccelerator)(nil)).Elem() +} + +func (i GetInstanceTypeInferenceAcceleratorArgs) ToGetInstanceTypeInferenceAcceleratorOutput() GetInstanceTypeInferenceAcceleratorOutput { + return i.ToGetInstanceTypeInferenceAcceleratorOutputWithContext(context.Background()) +} + +func (i GetInstanceTypeInferenceAcceleratorArgs) ToGetInstanceTypeInferenceAcceleratorOutputWithContext(ctx context.Context) GetInstanceTypeInferenceAcceleratorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstanceTypeInferenceAcceleratorOutput) +} + +// GetInstanceTypeInferenceAcceleratorArrayInput is an input type that accepts GetInstanceTypeInferenceAcceleratorArray and GetInstanceTypeInferenceAcceleratorArrayOutput values. +// You can construct a concrete instance of `GetInstanceTypeInferenceAcceleratorArrayInput` via: +// +// GetInstanceTypeInferenceAcceleratorArray{ GetInstanceTypeInferenceAcceleratorArgs{...} } +type GetInstanceTypeInferenceAcceleratorArrayInput interface { + pulumi.Input + + ToGetInstanceTypeInferenceAcceleratorArrayOutput() GetInstanceTypeInferenceAcceleratorArrayOutput + ToGetInstanceTypeInferenceAcceleratorArrayOutputWithContext(context.Context) GetInstanceTypeInferenceAcceleratorArrayOutput +} + +type GetInstanceTypeInferenceAcceleratorArray []GetInstanceTypeInferenceAcceleratorInput + +func (GetInstanceTypeInferenceAcceleratorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetInstanceTypeInferenceAccelerator)(nil)).Elem() +} + +func (i GetInstanceTypeInferenceAcceleratorArray) ToGetInstanceTypeInferenceAcceleratorArrayOutput() GetInstanceTypeInferenceAcceleratorArrayOutput { + return i.ToGetInstanceTypeInferenceAcceleratorArrayOutputWithContext(context.Background()) +} + +func (i GetInstanceTypeInferenceAcceleratorArray) ToGetInstanceTypeInferenceAcceleratorArrayOutputWithContext(ctx context.Context) GetInstanceTypeInferenceAcceleratorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstanceTypeInferenceAcceleratorArrayOutput) +} + +type GetInstanceTypeInferenceAcceleratorOutput struct{ *pulumi.OutputState } + +func (GetInstanceTypeInferenceAcceleratorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstanceTypeInferenceAccelerator)(nil)).Elem() +} + +func (o GetInstanceTypeInferenceAcceleratorOutput) ToGetInstanceTypeInferenceAcceleratorOutput() GetInstanceTypeInferenceAcceleratorOutput { + return o +} + +func (o GetInstanceTypeInferenceAcceleratorOutput) ToGetInstanceTypeInferenceAcceleratorOutputWithContext(ctx context.Context) GetInstanceTypeInferenceAcceleratorOutput { + return o +} + +func (o GetInstanceTypeInferenceAcceleratorOutput) Count() pulumi.IntOutput { + return o.ApplyT(func(v GetInstanceTypeInferenceAccelerator) int { return v.Count }).(pulumi.IntOutput) +} + +func (o GetInstanceTypeInferenceAcceleratorOutput) Manufacturer() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceTypeInferenceAccelerator) string { return v.Manufacturer }).(pulumi.StringOutput) +} + +func (o GetInstanceTypeInferenceAcceleratorOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceTypeInferenceAccelerator) string { return v.Name }).(pulumi.StringOutput) +} + +type GetInstanceTypeInferenceAcceleratorArrayOutput struct{ *pulumi.OutputState } + +func (GetInstanceTypeInferenceAcceleratorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetInstanceTypeInferenceAccelerator)(nil)).Elem() +} + +func (o GetInstanceTypeInferenceAcceleratorArrayOutput) ToGetInstanceTypeInferenceAcceleratorArrayOutput() GetInstanceTypeInferenceAcceleratorArrayOutput { + return o +} + +func (o GetInstanceTypeInferenceAcceleratorArrayOutput) ToGetInstanceTypeInferenceAcceleratorArrayOutputWithContext(ctx context.Context) GetInstanceTypeInferenceAcceleratorArrayOutput { + return o +} + +func (o GetInstanceTypeInferenceAcceleratorArrayOutput) Index(i pulumi.IntInput) GetInstanceTypeInferenceAcceleratorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetInstanceTypeInferenceAccelerator { + return vs[0].([]GetInstanceTypeInferenceAccelerator)[vs[1].(int)] + }).(GetInstanceTypeInferenceAcceleratorOutput) +} + +type GetInstanceTypeInstanceDisk struct { + Count int `pulumi:"count"` + Size int `pulumi:"size"` + Type string `pulumi:"type"` +} + +// GetInstanceTypeInstanceDiskInput is an input type that accepts GetInstanceTypeInstanceDiskArgs and GetInstanceTypeInstanceDiskOutput values. +// You can construct a concrete instance of `GetInstanceTypeInstanceDiskInput` via: +// +// GetInstanceTypeInstanceDiskArgs{...} +type GetInstanceTypeInstanceDiskInput interface { + pulumi.Input + + ToGetInstanceTypeInstanceDiskOutput() GetInstanceTypeInstanceDiskOutput + ToGetInstanceTypeInstanceDiskOutputWithContext(context.Context) GetInstanceTypeInstanceDiskOutput +} + +type GetInstanceTypeInstanceDiskArgs struct { + Count pulumi.IntInput `pulumi:"count"` + Size pulumi.IntInput `pulumi:"size"` + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetInstanceTypeInstanceDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstanceTypeInstanceDisk)(nil)).Elem() +} + +func (i GetInstanceTypeInstanceDiskArgs) ToGetInstanceTypeInstanceDiskOutput() GetInstanceTypeInstanceDiskOutput { + return i.ToGetInstanceTypeInstanceDiskOutputWithContext(context.Background()) +} + +func (i GetInstanceTypeInstanceDiskArgs) ToGetInstanceTypeInstanceDiskOutputWithContext(ctx context.Context) GetInstanceTypeInstanceDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstanceTypeInstanceDiskOutput) +} + +// GetInstanceTypeInstanceDiskArrayInput is an input type that accepts GetInstanceTypeInstanceDiskArray and GetInstanceTypeInstanceDiskArrayOutput values. +// You can construct a concrete instance of `GetInstanceTypeInstanceDiskArrayInput` via: +// +// GetInstanceTypeInstanceDiskArray{ GetInstanceTypeInstanceDiskArgs{...} } +type GetInstanceTypeInstanceDiskArrayInput interface { + pulumi.Input + + ToGetInstanceTypeInstanceDiskArrayOutput() GetInstanceTypeInstanceDiskArrayOutput + ToGetInstanceTypeInstanceDiskArrayOutputWithContext(context.Context) GetInstanceTypeInstanceDiskArrayOutput +} + +type GetInstanceTypeInstanceDiskArray []GetInstanceTypeInstanceDiskInput + +func (GetInstanceTypeInstanceDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetInstanceTypeInstanceDisk)(nil)).Elem() +} + +func (i GetInstanceTypeInstanceDiskArray) ToGetInstanceTypeInstanceDiskArrayOutput() GetInstanceTypeInstanceDiskArrayOutput { + return i.ToGetInstanceTypeInstanceDiskArrayOutputWithContext(context.Background()) +} + +func (i GetInstanceTypeInstanceDiskArray) ToGetInstanceTypeInstanceDiskArrayOutputWithContext(ctx context.Context) GetInstanceTypeInstanceDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstanceTypeInstanceDiskArrayOutput) +} + +type GetInstanceTypeInstanceDiskOutput struct{ *pulumi.OutputState } + +func (GetInstanceTypeInstanceDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstanceTypeInstanceDisk)(nil)).Elem() +} + +func (o GetInstanceTypeInstanceDiskOutput) ToGetInstanceTypeInstanceDiskOutput() GetInstanceTypeInstanceDiskOutput { + return o +} + +func (o GetInstanceTypeInstanceDiskOutput) ToGetInstanceTypeInstanceDiskOutputWithContext(ctx context.Context) GetInstanceTypeInstanceDiskOutput { + return o +} + +func (o GetInstanceTypeInstanceDiskOutput) Count() pulumi.IntOutput { + return o.ApplyT(func(v GetInstanceTypeInstanceDisk) int { return v.Count }).(pulumi.IntOutput) +} + +func (o GetInstanceTypeInstanceDiskOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v GetInstanceTypeInstanceDisk) int { return v.Size }).(pulumi.IntOutput) +} + +func (o GetInstanceTypeInstanceDiskOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceTypeInstanceDisk) string { return v.Type }).(pulumi.StringOutput) +} + +type GetInstanceTypeInstanceDiskArrayOutput struct{ *pulumi.OutputState } + +func (GetInstanceTypeInstanceDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetInstanceTypeInstanceDisk)(nil)).Elem() +} + +func (o GetInstanceTypeInstanceDiskArrayOutput) ToGetInstanceTypeInstanceDiskArrayOutput() GetInstanceTypeInstanceDiskArrayOutput { + return o +} + +func (o GetInstanceTypeInstanceDiskArrayOutput) ToGetInstanceTypeInstanceDiskArrayOutputWithContext(ctx context.Context) GetInstanceTypeInstanceDiskArrayOutput { + return o +} + +func (o GetInstanceTypeInstanceDiskArrayOutput) Index(i pulumi.IntInput) GetInstanceTypeInstanceDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetInstanceTypeInstanceDisk { + return vs[0].([]GetInstanceTypeInstanceDisk)[vs[1].(int)] + }).(GetInstanceTypeInstanceDiskOutput) +} + type GetInstanceTypeOfferingFilter struct { // Name of the filter. The `location` filter depends on the top-level `locationType` argument and if not specified, defaults to the current region. Name string `pulumi:"name"` @@ -18894,6 +19336,14 @@ func init() { pulumi.RegisterOutputType(GetInstanceMetadataOptionArrayOutput{}) pulumi.RegisterOutputType(GetInstanceRootBlockDeviceOutput{}) pulumi.RegisterOutputType(GetInstanceRootBlockDeviceArrayOutput{}) + pulumi.RegisterOutputType(GetInstanceTypeFpgaOutput{}) + pulumi.RegisterOutputType(GetInstanceTypeFpgaArrayOutput{}) + pulumi.RegisterOutputType(GetInstanceTypeGpusOutput{}) + pulumi.RegisterOutputType(GetInstanceTypeGpusArrayOutput{}) + pulumi.RegisterOutputType(GetInstanceTypeInferenceAcceleratorOutput{}) + pulumi.RegisterOutputType(GetInstanceTypeInferenceAcceleratorArrayOutput{}) + pulumi.RegisterOutputType(GetInstanceTypeInstanceDiskOutput{}) + pulumi.RegisterOutputType(GetInstanceTypeInstanceDiskArrayOutput{}) pulumi.RegisterOutputType(GetInstanceTypeOfferingFilterOutput{}) pulumi.RegisterOutputType(GetInstanceTypeOfferingFilterArrayOutput{}) pulumi.RegisterOutputType(GetInstanceTypeOfferingsFilterOutput{}) diff --git a/sdk/go/aws/efs/fileSystemPolicy.go b/sdk/go/aws/efs/fileSystemPolicy.go index 96654cdfaa5..5efacfa4778 100644 --- a/sdk/go/aws/efs/fileSystemPolicy.go +++ b/sdk/go/aws/efs/fileSystemPolicy.go @@ -32,7 +32,7 @@ import ( // } // _, err = efs.NewFileSystemPolicy(ctx, "policy", &efs.FileSystemPolicyArgs{ // FileSystemId: fs.ID(), -// Policy: pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", " \"Version\": \"2012-10-17\",\n", " \"Id\": \"ExamplePolicy01\",\n", " \"Statement\": [\n", " {\n", " \"Sid\": \"ExampleSatement01\",\n", " \"Effect\": \"Allow\",\n", " \"Principal\": {\n", " \"AWS\": \"*\"\n", " },\n", " \"Resource\": \"", aws_efs_file_system.Test.Arn, "\",\n", " \"Action\": [\n", " \"elasticfilesystem:ClientMount\",\n", " \"elasticfilesystem:ClientWrite\"\n", " ],\n", " \"Condition\": {\n", " \"Bool\": {\n", " \"aws:SecureTransport\": \"true\"\n", " }\n", " }\n", " }\n", " ]\n", "}\n")), +// Policy: pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", " \"Version\": \"2012-10-17\",\n", " \"Id\": \"ExamplePolicy01\",\n", " \"Statement\": [\n", " {\n", " \"Sid\": \"ExampleStatement01\",\n", " \"Effect\": \"Allow\",\n", " \"Principal\": {\n", " \"AWS\": \"*\"\n", " },\n", " \"Resource\": \"", aws_efs_file_system.Test.Arn, "\",\n", " \"Action\": [\n", " \"elasticfilesystem:ClientMount\",\n", " \"elasticfilesystem:ClientWrite\"\n", " ],\n", " \"Condition\": {\n", " \"Bool\": {\n", " \"aws:SecureTransport\": \"true\"\n", " }\n", " }\n", " }\n", " ]\n", "}\n")), // }) // if err != nil { // return err diff --git a/sdk/go/aws/elasticloadbalancingv2/pulumiTypes.go b/sdk/go/aws/elasticloadbalancingv2/pulumiTypes.go index 00e39e831d3..211502ee15b 100644 --- a/sdk/go/aws/elasticloadbalancingv2/pulumiTypes.go +++ b/sdk/go/aws/elasticloadbalancingv2/pulumiTypes.go @@ -4594,11 +4594,11 @@ func (o TargetGroupHealthCheckPtrOutput) UnhealthyThreshold() pulumi.IntPtrOutpu } type TargetGroupStickiness struct { - // The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + // Only used when the type is `lbCookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). CookieDuration *int `pulumi:"cookieDuration"` // Indicates whether health checks are enabled. Defaults to true. Enabled *bool `pulumi:"enabled"` - // The type of sticky sessions. The only current possible value is `lbCookie`. + // The type of sticky sessions. The only current possible values are `lbCookie` for ALBs and `sourceIp` for NLBs. Type string `pulumi:"type"` } @@ -4614,11 +4614,11 @@ type TargetGroupStickinessInput interface { } type TargetGroupStickinessArgs struct { - // The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + // Only used when the type is `lbCookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). CookieDuration pulumi.IntPtrInput `pulumi:"cookieDuration"` // Indicates whether health checks are enabled. Defaults to true. Enabled pulumi.BoolPtrInput `pulumi:"enabled"` - // The type of sticky sessions. The only current possible value is `lbCookie`. + // The type of sticky sessions. The only current possible values are `lbCookie` for ALBs and `sourceIp` for NLBs. Type pulumi.StringInput `pulumi:"type"` } @@ -4699,7 +4699,7 @@ func (o TargetGroupStickinessOutput) ToTargetGroupStickinessPtrOutputWithContext }).(TargetGroupStickinessPtrOutput) } -// The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). +// Only used when the type is `lbCookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). func (o TargetGroupStickinessOutput) CookieDuration() pulumi.IntPtrOutput { return o.ApplyT(func(v TargetGroupStickiness) *int { return v.CookieDuration }).(pulumi.IntPtrOutput) } @@ -4709,7 +4709,7 @@ func (o TargetGroupStickinessOutput) Enabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v TargetGroupStickiness) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) } -// The type of sticky sessions. The only current possible value is `lbCookie`. +// The type of sticky sessions. The only current possible values are `lbCookie` for ALBs and `sourceIp` for NLBs. func (o TargetGroupStickinessOutput) Type() pulumi.StringOutput { return o.ApplyT(func(v TargetGroupStickiness) string { return v.Type }).(pulumi.StringOutput) } @@ -4732,7 +4732,7 @@ func (o TargetGroupStickinessPtrOutput) Elem() TargetGroupStickinessOutput { return o.ApplyT(func(v *TargetGroupStickiness) TargetGroupStickiness { return *v }).(TargetGroupStickinessOutput) } -// The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). +// Only used when the type is `lbCookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). func (o TargetGroupStickinessPtrOutput) CookieDuration() pulumi.IntPtrOutput { return o.ApplyT(func(v *TargetGroupStickiness) *int { if v == nil { @@ -4752,7 +4752,7 @@ func (o TargetGroupStickinessPtrOutput) Enabled() pulumi.BoolPtrOutput { }).(pulumi.BoolPtrOutput) } -// The type of sticky sessions. The only current possible value is `lbCookie`. +// The type of sticky sessions. The only current possible values are `lbCookie` for ALBs and `sourceIp` for NLBs. func (o TargetGroupStickinessPtrOutput) Type() pulumi.StringPtrOutput { return o.ApplyT(func(v *TargetGroupStickiness) *string { if v == nil { diff --git a/sdk/go/aws/elasticloadbalancingv2/targetGroup.go b/sdk/go/aws/elasticloadbalancingv2/targetGroup.go index 33285825f5f..25f0e6b23ad 100644 --- a/sdk/go/aws/elasticloadbalancingv2/targetGroup.go +++ b/sdk/go/aws/elasticloadbalancingv2/targetGroup.go @@ -128,7 +128,7 @@ type TargetGroup struct { ProxyProtocolV2 pulumi.BoolPtrOutput `pulumi:"proxyProtocolV2"` // The amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds. SlowStart pulumi.IntPtrOutput `pulumi:"slowStart"` - // A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + // A Stickiness block. Stickiness blocks are documented below. Stickiness TargetGroupStickinessOutput `pulumi:"stickiness"` // A map of tags to assign to the resource. Tags pulumi.StringMapOutput `pulumi:"tags"` @@ -195,7 +195,7 @@ type targetGroupState struct { ProxyProtocolV2 *bool `pulumi:"proxyProtocolV2"` // The amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds. SlowStart *int `pulumi:"slowStart"` - // A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + // A Stickiness block. Stickiness blocks are documented below. Stickiness *TargetGroupStickiness `pulumi:"stickiness"` // A map of tags to assign to the resource. Tags map[string]string `pulumi:"tags"` @@ -235,7 +235,7 @@ type TargetGroupState struct { ProxyProtocolV2 pulumi.BoolPtrInput // The amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds. SlowStart pulumi.IntPtrInput - // A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + // A Stickiness block. Stickiness blocks are documented below. Stickiness TargetGroupStickinessPtrInput // A map of tags to assign to the resource. Tags pulumi.StringMapInput @@ -275,7 +275,7 @@ type targetGroupArgs struct { ProxyProtocolV2 *bool `pulumi:"proxyProtocolV2"` // The amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds. SlowStart *int `pulumi:"slowStart"` - // A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + // A Stickiness block. Stickiness blocks are documented below. Stickiness *TargetGroupStickiness `pulumi:"stickiness"` // A map of tags to assign to the resource. Tags map[string]string `pulumi:"tags"` @@ -312,7 +312,7 @@ type TargetGroupArgs struct { ProxyProtocolV2 pulumi.BoolPtrInput // The amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds. SlowStart pulumi.IntPtrInput - // A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + // A Stickiness block. Stickiness blocks are documented below. Stickiness TargetGroupStickinessPtrInput // A map of tags to assign to the resource. Tags pulumi.StringMapInput diff --git a/sdk/go/aws/getIpRanges.go b/sdk/go/aws/getIpRanges.go index 18f0c81974a..1efadb80e89 100644 --- a/sdk/go/aws/getIpRanges.go +++ b/sdk/go/aws/getIpRanges.go @@ -7,7 +7,7 @@ import ( "github.com/pulumi/pulumi/sdk/v2/go/pulumi" ) -// Use this data source to get the IP ranges of various AWS products and services. For more information about the contents of this data source and required JSON syntax if referencing a custom URL, see the [AWS IP Address Ranges documention](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html). +// Use this data source to get the IP ranges of various AWS products and services. For more information about the contents of this data source and required JSON syntax if referencing a custom URL, see the [AWS IP Address Ranges documentation](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html). func GetIpRanges(ctx *pulumi.Context, args *GetIpRangesArgs, opts ...pulumi.InvokeOption) (*GetIpRangesResult, error) { var rv GetIpRangesResult err := ctx.Invoke("aws:index/getIpRanges:getIpRanges", args, &rv, opts...) @@ -29,7 +29,7 @@ type GetIpRangesArgs struct { // `route53`, `route53Healthchecks`, `s3` and `workspacesGateways`. See the // [`service` attribute][2] documentation for other possible values. Services []string `pulumi:"services"` - // Custom URL for source JSON file. Syntax must match [AWS IP Address Ranges documention](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html). Defaults to `https://ip-ranges.amazonaws.com/ip-ranges.json`. + // Custom URL for source JSON file. Syntax must match [AWS IP Address Ranges documentation](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html). Defaults to `https://ip-ranges.amazonaws.com/ip-ranges.json`. Url *string `pulumi:"url"` } diff --git a/sdk/go/aws/getPartition.go b/sdk/go/aws/getPartition.go index 184b0eb030b..fd9195e07f5 100644 --- a/sdk/go/aws/getPartition.go +++ b/sdk/go/aws/getPartition.go @@ -59,8 +59,10 @@ func GetPartition(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetPartiti // A collection of values returned by getPartition. type GetPartitionResult struct { + // Base DNS domain name for the current partition (e.g. `amazonaws.com` in AWS Commercial, `amazonaws.com.cn` in AWS China). DnsSuffix string `pulumi:"dnsSuffix"` // The provider-assigned unique ID for this managed resource. - Id string `pulumi:"id"` + Id string `pulumi:"id"` + // Identifier of the current partition (e.g. `aws` in AWS Commercial, `aws-cn` in AWS China). Partition string `pulumi:"partition"` } diff --git a/sdk/go/aws/lb/pulumiTypes.go b/sdk/go/aws/lb/pulumiTypes.go index 2a0f2d8f79a..cc80d11a4af 100644 --- a/sdk/go/aws/lb/pulumiTypes.go +++ b/sdk/go/aws/lb/pulumiTypes.go @@ -4594,11 +4594,11 @@ func (o TargetGroupHealthCheckPtrOutput) UnhealthyThreshold() pulumi.IntPtrOutpu } type TargetGroupStickiness struct { - // The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + // Only used when the type is `lbCookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). CookieDuration *int `pulumi:"cookieDuration"` // Indicates whether health checks are enabled. Defaults to true. Enabled *bool `pulumi:"enabled"` - // The type of sticky sessions. The only current possible value is `lbCookie`. + // The type of sticky sessions. The only current possible values are `lbCookie` for ALBs and `sourceIp` for NLBs. Type string `pulumi:"type"` } @@ -4614,11 +4614,11 @@ type TargetGroupStickinessInput interface { } type TargetGroupStickinessArgs struct { - // The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + // Only used when the type is `lbCookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). CookieDuration pulumi.IntPtrInput `pulumi:"cookieDuration"` // Indicates whether health checks are enabled. Defaults to true. Enabled pulumi.BoolPtrInput `pulumi:"enabled"` - // The type of sticky sessions. The only current possible value is `lbCookie`. + // The type of sticky sessions. The only current possible values are `lbCookie` for ALBs and `sourceIp` for NLBs. Type pulumi.StringInput `pulumi:"type"` } @@ -4699,7 +4699,7 @@ func (o TargetGroupStickinessOutput) ToTargetGroupStickinessPtrOutputWithContext }).(TargetGroupStickinessPtrOutput) } -// The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). +// Only used when the type is `lbCookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). func (o TargetGroupStickinessOutput) CookieDuration() pulumi.IntPtrOutput { return o.ApplyT(func(v TargetGroupStickiness) *int { return v.CookieDuration }).(pulumi.IntPtrOutput) } @@ -4709,7 +4709,7 @@ func (o TargetGroupStickinessOutput) Enabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v TargetGroupStickiness) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) } -// The type of sticky sessions. The only current possible value is `lbCookie`. +// The type of sticky sessions. The only current possible values are `lbCookie` for ALBs and `sourceIp` for NLBs. func (o TargetGroupStickinessOutput) Type() pulumi.StringOutput { return o.ApplyT(func(v TargetGroupStickiness) string { return v.Type }).(pulumi.StringOutput) } @@ -4732,7 +4732,7 @@ func (o TargetGroupStickinessPtrOutput) Elem() TargetGroupStickinessOutput { return o.ApplyT(func(v *TargetGroupStickiness) TargetGroupStickiness { return *v }).(TargetGroupStickinessOutput) } -// The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). +// Only used when the type is `lbCookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). func (o TargetGroupStickinessPtrOutput) CookieDuration() pulumi.IntPtrOutput { return o.ApplyT(func(v *TargetGroupStickiness) *int { if v == nil { @@ -4752,7 +4752,7 @@ func (o TargetGroupStickinessPtrOutput) Enabled() pulumi.BoolPtrOutput { }).(pulumi.BoolPtrOutput) } -// The type of sticky sessions. The only current possible value is `lbCookie`. +// The type of sticky sessions. The only current possible values are `lbCookie` for ALBs and `sourceIp` for NLBs. func (o TargetGroupStickinessPtrOutput) Type() pulumi.StringPtrOutput { return o.ApplyT(func(v *TargetGroupStickiness) *string { if v == nil { diff --git a/sdk/go/aws/lb/targetGroup.go b/sdk/go/aws/lb/targetGroup.go index 518d6d76904..06ff8823932 100644 --- a/sdk/go/aws/lb/targetGroup.go +++ b/sdk/go/aws/lb/targetGroup.go @@ -126,7 +126,7 @@ type TargetGroup struct { ProxyProtocolV2 pulumi.BoolPtrOutput `pulumi:"proxyProtocolV2"` // The amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds. SlowStart pulumi.IntPtrOutput `pulumi:"slowStart"` - // A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + // A Stickiness block. Stickiness blocks are documented below. Stickiness TargetGroupStickinessOutput `pulumi:"stickiness"` // A map of tags to assign to the resource. Tags pulumi.StringMapOutput `pulumi:"tags"` @@ -199,7 +199,7 @@ type targetGroupState struct { ProxyProtocolV2 *bool `pulumi:"proxyProtocolV2"` // The amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds. SlowStart *int `pulumi:"slowStart"` - // A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + // A Stickiness block. Stickiness blocks are documented below. Stickiness *TargetGroupStickiness `pulumi:"stickiness"` // A map of tags to assign to the resource. Tags map[string]string `pulumi:"tags"` @@ -239,7 +239,7 @@ type TargetGroupState struct { ProxyProtocolV2 pulumi.BoolPtrInput // The amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds. SlowStart pulumi.IntPtrInput - // A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + // A Stickiness block. Stickiness blocks are documented below. Stickiness TargetGroupStickinessPtrInput // A map of tags to assign to the resource. Tags pulumi.StringMapInput @@ -279,7 +279,7 @@ type targetGroupArgs struct { ProxyProtocolV2 *bool `pulumi:"proxyProtocolV2"` // The amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds. SlowStart *int `pulumi:"slowStart"` - // A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + // A Stickiness block. Stickiness blocks are documented below. Stickiness *TargetGroupStickiness `pulumi:"stickiness"` // A map of tags to assign to the resource. Tags map[string]string `pulumi:"tags"` @@ -316,7 +316,7 @@ type TargetGroupArgs struct { ProxyProtocolV2 pulumi.BoolPtrInput // The amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds. SlowStart pulumi.IntPtrInput - // A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + // A Stickiness block. Stickiness blocks are documented below. Stickiness TargetGroupStickinessPtrInput // A map of tags to assign to the resource. Tags pulumi.StringMapInput diff --git a/sdk/go/aws/lex/botAlias.go b/sdk/go/aws/lex/botAlias.go new file mode 100644 index 00000000000..5ddd682892f --- /dev/null +++ b/sdk/go/aws/lex/botAlias.go @@ -0,0 +1,171 @@ +// *** 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! *** + +package lex + +import ( + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v2/go/pulumi" +) + +// Provides an Amazon Lex Bot Alias resource. For more information see +// [Amazon Lex: How It Works](https://docs.aws.amazon.com/lex/latest/dg/how-it-works.html) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// "github.com/pulumi/pulumi-aws/sdk/v3/go/aws/lex" +// "github.com/pulumi/pulumi/sdk/v2/go/pulumi" +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := lex.NewBotAlias(ctx, "orderFlowersProd", &lex.BotAliasArgs{ +// BotName: pulumi.String("OrderFlowers"), +// BotVersion: pulumi.String("1"), +// Description: pulumi.String("Production Version of the OrderFlowers Bot."), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// ``` +type BotAlias struct { + pulumi.CustomResourceState + + // The ARN of the bot alias. + Arn pulumi.StringOutput `pulumi:"arn"` + // The name of the bot. + BotName pulumi.StringOutput `pulumi:"botName"` + // The name of the bot. + BotVersion pulumi.StringOutput `pulumi:"botVersion"` + // Checksum of the bot alias. + Checksum pulumi.StringOutput `pulumi:"checksum"` + // The settings that determine how Amazon Lex uses conversation logs for the alias. Attributes are documented under conversation_logs. + ConversationLogs BotAliasConversationLogsPtrOutput `pulumi:"conversationLogs"` + // The date that the bot alias was created. + CreatedDate pulumi.StringOutput `pulumi:"createdDate"` + // A description of the alias. + Description pulumi.StringPtrOutput `pulumi:"description"` + // The date that the bot alias was updated. When you create a resource, the creation date and the last updated date are the same. + LastUpdatedDate pulumi.StringOutput `pulumi:"lastUpdatedDate"` + // The name of the alias. The name is not case sensitive. + Name pulumi.StringOutput `pulumi:"name"` +} + +// NewBotAlias registers a new resource with the given unique name, arguments, and options. +func NewBotAlias(ctx *pulumi.Context, + name string, args *BotAliasArgs, opts ...pulumi.ResourceOption) (*BotAlias, error) { + if args == nil || args.BotName == nil { + return nil, errors.New("missing required argument 'BotName'") + } + if args == nil || args.BotVersion == nil { + return nil, errors.New("missing required argument 'BotVersion'") + } + if args == nil { + args = &BotAliasArgs{} + } + var resource BotAlias + err := ctx.RegisterResource("aws:lex/botAlias:BotAlias", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetBotAlias gets an existing BotAlias 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 GetBotAlias(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *BotAliasState, opts ...pulumi.ResourceOption) (*BotAlias, error) { + var resource BotAlias + err := ctx.ReadResource("aws:lex/botAlias:BotAlias", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering BotAlias resources. +type botAliasState struct { + // The ARN of the bot alias. + Arn *string `pulumi:"arn"` + // The name of the bot. + BotName *string `pulumi:"botName"` + // The name of the bot. + BotVersion *string `pulumi:"botVersion"` + // Checksum of the bot alias. + Checksum *string `pulumi:"checksum"` + // The settings that determine how Amazon Lex uses conversation logs for the alias. Attributes are documented under conversation_logs. + ConversationLogs *BotAliasConversationLogs `pulumi:"conversationLogs"` + // The date that the bot alias was created. + CreatedDate *string `pulumi:"createdDate"` + // A description of the alias. + Description *string `pulumi:"description"` + // The date that the bot alias was updated. When you create a resource, the creation date and the last updated date are the same. + LastUpdatedDate *string `pulumi:"lastUpdatedDate"` + // The name of the alias. The name is not case sensitive. + Name *string `pulumi:"name"` +} + +type BotAliasState struct { + // The ARN of the bot alias. + Arn pulumi.StringPtrInput + // The name of the bot. + BotName pulumi.StringPtrInput + // The name of the bot. + BotVersion pulumi.StringPtrInput + // Checksum of the bot alias. + Checksum pulumi.StringPtrInput + // The settings that determine how Amazon Lex uses conversation logs for the alias. Attributes are documented under conversation_logs. + ConversationLogs BotAliasConversationLogsPtrInput + // The date that the bot alias was created. + CreatedDate pulumi.StringPtrInput + // A description of the alias. + Description pulumi.StringPtrInput + // The date that the bot alias was updated. When you create a resource, the creation date and the last updated date are the same. + LastUpdatedDate pulumi.StringPtrInput + // The name of the alias. The name is not case sensitive. + Name pulumi.StringPtrInput +} + +func (BotAliasState) ElementType() reflect.Type { + return reflect.TypeOf((*botAliasState)(nil)).Elem() +} + +type botAliasArgs struct { + // The name of the bot. + BotName string `pulumi:"botName"` + // The name of the bot. + BotVersion string `pulumi:"botVersion"` + // The settings that determine how Amazon Lex uses conversation logs for the alias. Attributes are documented under conversation_logs. + ConversationLogs *BotAliasConversationLogs `pulumi:"conversationLogs"` + // A description of the alias. + Description *string `pulumi:"description"` + // The name of the alias. The name is not case sensitive. + Name *string `pulumi:"name"` +} + +// The set of arguments for constructing a BotAlias resource. +type BotAliasArgs struct { + // The name of the bot. + BotName pulumi.StringInput + // The name of the bot. + BotVersion pulumi.StringInput + // The settings that determine how Amazon Lex uses conversation logs for the alias. Attributes are documented under conversation_logs. + ConversationLogs BotAliasConversationLogsPtrInput + // A description of the alias. + Description pulumi.StringPtrInput + // The name of the alias. The name is not case sensitive. + Name pulumi.StringPtrInput +} + +func (BotAliasArgs) ElementType() reflect.Type { + return reflect.TypeOf((*botAliasArgs)(nil)).Elem() +} diff --git a/sdk/go/aws/lex/getBotAlias.go b/sdk/go/aws/lex/getBotAlias.go new file mode 100644 index 00000000000..39ed16b4034 --- /dev/null +++ b/sdk/go/aws/lex/getBotAlias.go @@ -0,0 +1,72 @@ +// *** 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! *** + +package lex + +import ( + "github.com/pulumi/pulumi/sdk/v2/go/pulumi" +) + +// Provides details about a specific Amazon Lex Bot Alias. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// "github.com/pulumi/pulumi-aws/sdk/v3/go/aws/lex" +// "github.com/pulumi/pulumi/sdk/v2/go/pulumi" +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := lex.LookupBotAlias(ctx, &lex.LookupBotAliasArgs{ +// BotName: "OrderFlowers", +// Name: "OrderFlowersProd", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// ``` +func LookupBotAlias(ctx *pulumi.Context, args *LookupBotAliasArgs, opts ...pulumi.InvokeOption) (*LookupBotAliasResult, error) { + var rv LookupBotAliasResult + err := ctx.Invoke("aws:lex/getBotAlias:getBotAlias", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getBotAlias. +type LookupBotAliasArgs struct { + // The name of the bot. + BotName string `pulumi:"botName"` + // The name of the bot alias. The name is case sensitive. + Name string `pulumi:"name"` +} + +// A collection of values returned by getBotAlias. +type LookupBotAliasResult struct { + // The ARN of the bot alias. + Arn string `pulumi:"arn"` + // The name of the bot. + BotName string `pulumi:"botName"` + // The version of the bot that the alias points to. + BotVersion string `pulumi:"botVersion"` + // Checksum of the bot alias. + Checksum string `pulumi:"checksum"` + // The date that the bot alias was created. + CreatedDate string `pulumi:"createdDate"` + // A description of the alias. + Description string `pulumi:"description"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // The date that the bot alias was updated. When you create a resource, the creation date and the last updated date are the same. + LastUpdatedDate string `pulumi:"lastUpdatedDate"` + // The name of the alias. The name is not case sensitive. + Name string `pulumi:"name"` +} diff --git a/sdk/go/aws/lex/intent.go b/sdk/go/aws/lex/intent.go index f5264e5e404..3431e881883 100644 --- a/sdk/go/aws/lex/intent.go +++ b/sdk/go/aws/lex/intent.go @@ -133,14 +133,17 @@ type Intent struct { // included as an argument because the resource will add it automatically when updating the intent. Checksum pulumi.StringOutput `pulumi:"checksum"` // The statement that you want Amazon Lex to convey to the user - // after the intent is successfully fulfilled by the Lambda function. + // after the intent is successfully fulfilled by the Lambda function. This element is relevant only if + // you provide a Lambda function in the `fulfillmentActivity`. If you return the intent to the client + // application, you can't specify this element. The `followUpPrompt` and `conclusionStatement` are + // mutually exclusive. You can specify only one. Attributes are documented under statement. ConclusionStatement IntentConclusionStatementPtrOutput `pulumi:"conclusionStatement"` // Prompts the user to confirm the intent. This question should // have a yes or no answer. You you must provide both the `rejectionStatement` and `confirmationPrompt`, // or neither. Attributes are documented under prompt. ConfirmationPrompt IntentConfirmationPromptPtrOutput `pulumi:"confirmationPrompt"` // Determines if a new slot type version is created when the initial - // resource is created and on each update. Defaults to true. + // resource is created and on each update. Defaults to `false`. CreateVersion pulumi.BoolPtrOutput `pulumi:"createVersion"` // The date when the intent version was created. CreatedDate pulumi.StringOutput `pulumi:"createdDate"` @@ -151,11 +154,12 @@ type Intent struct { DialogCodeHook IntentDialogCodeHookPtrOutput `pulumi:"dialogCodeHook"` // Amazon Lex uses this prompt to solicit additional activity after // fulfilling an intent. For example, after the OrderPizza intent is fulfilled, you might prompt the - // user to order a drink. + // user to order a drink. The `followUpPrompt` field and the `conclusionStatement` field are mutually + // exclusive. You can specify only one. Attributes are documented under follow_up_prompt. FollowUpPrompt IntentFollowUpPromptPtrOutput `pulumi:"followUpPrompt"` // Describes how the intent is fulfilled. For example, after a // user provides all of the information for a pizza order, `fulfillmentActivity` defines how the bot - // places an order with a local pizza store. + // places an order with a local pizza store. Attributes are documented under fulfillment_activity. FulfillmentActivity IntentFulfillmentActivityOutput `pulumi:"fulfillmentActivity"` // The date when the $LATEST version of this intent was updated. LastUpdatedDate pulumi.StringOutput `pulumi:"lastUpdatedDate"` @@ -166,9 +170,9 @@ type Intent struct { // [Standard Built-in Intents](https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/built-in-intent-ref/standard-intents) // in the Alexa Skills Kit. ParentIntentSignature pulumi.StringPtrOutput `pulumi:"parentIntentSignature"` - // When the user answers "no" to the question defined in - // `confirmationPrompt`, Amazon Lex responds with this statement to acknowledge that the intent was - // canceled. + // If the user answers "no" to the question defined in the prompt field, + // Amazon Lex responds with this statement to acknowledge that the intent was canceled. Attributes are + // documented below under statement. RejectionStatement IntentRejectionStatementPtrOutput `pulumi:"rejectionStatement"` // If you know a specific pattern with which users might respond to // an Amazon Lex request for a slot value, you can provide those utterances to improve accuracy. This @@ -218,14 +222,17 @@ type intentState struct { // included as an argument because the resource will add it automatically when updating the intent. Checksum *string `pulumi:"checksum"` // The statement that you want Amazon Lex to convey to the user - // after the intent is successfully fulfilled by the Lambda function. + // after the intent is successfully fulfilled by the Lambda function. This element is relevant only if + // you provide a Lambda function in the `fulfillmentActivity`. If you return the intent to the client + // application, you can't specify this element. The `followUpPrompt` and `conclusionStatement` are + // mutually exclusive. You can specify only one. Attributes are documented under statement. ConclusionStatement *IntentConclusionStatement `pulumi:"conclusionStatement"` // Prompts the user to confirm the intent. This question should // have a yes or no answer. You you must provide both the `rejectionStatement` and `confirmationPrompt`, // or neither. Attributes are documented under prompt. ConfirmationPrompt *IntentConfirmationPrompt `pulumi:"confirmationPrompt"` // Determines if a new slot type version is created when the initial - // resource is created and on each update. Defaults to true. + // resource is created and on each update. Defaults to `false`. CreateVersion *bool `pulumi:"createVersion"` // The date when the intent version was created. CreatedDate *string `pulumi:"createdDate"` @@ -236,11 +243,12 @@ type intentState struct { DialogCodeHook *IntentDialogCodeHook `pulumi:"dialogCodeHook"` // Amazon Lex uses this prompt to solicit additional activity after // fulfilling an intent. For example, after the OrderPizza intent is fulfilled, you might prompt the - // user to order a drink. + // user to order a drink. The `followUpPrompt` field and the `conclusionStatement` field are mutually + // exclusive. You can specify only one. Attributes are documented under follow_up_prompt. FollowUpPrompt *IntentFollowUpPrompt `pulumi:"followUpPrompt"` // Describes how the intent is fulfilled. For example, after a // user provides all of the information for a pizza order, `fulfillmentActivity` defines how the bot - // places an order with a local pizza store. + // places an order with a local pizza store. Attributes are documented under fulfillment_activity. FulfillmentActivity *IntentFulfillmentActivity `pulumi:"fulfillmentActivity"` // The date when the $LATEST version of this intent was updated. LastUpdatedDate *string `pulumi:"lastUpdatedDate"` @@ -251,9 +259,9 @@ type intentState struct { // [Standard Built-in Intents](https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/built-in-intent-ref/standard-intents) // in the Alexa Skills Kit. ParentIntentSignature *string `pulumi:"parentIntentSignature"` - // When the user answers "no" to the question defined in - // `confirmationPrompt`, Amazon Lex responds with this statement to acknowledge that the intent was - // canceled. + // If the user answers "no" to the question defined in the prompt field, + // Amazon Lex responds with this statement to acknowledge that the intent was canceled. Attributes are + // documented below under statement. RejectionStatement *IntentRejectionStatement `pulumi:"rejectionStatement"` // If you know a specific pattern with which users might respond to // an Amazon Lex request for a slot value, you can provide those utterances to improve accuracy. This @@ -273,14 +281,17 @@ type IntentState struct { // included as an argument because the resource will add it automatically when updating the intent. Checksum pulumi.StringPtrInput // The statement that you want Amazon Lex to convey to the user - // after the intent is successfully fulfilled by the Lambda function. + // after the intent is successfully fulfilled by the Lambda function. This element is relevant only if + // you provide a Lambda function in the `fulfillmentActivity`. If you return the intent to the client + // application, you can't specify this element. The `followUpPrompt` and `conclusionStatement` are + // mutually exclusive. You can specify only one. Attributes are documented under statement. ConclusionStatement IntentConclusionStatementPtrInput // Prompts the user to confirm the intent. This question should // have a yes or no answer. You you must provide both the `rejectionStatement` and `confirmationPrompt`, // or neither. Attributes are documented under prompt. ConfirmationPrompt IntentConfirmationPromptPtrInput // Determines if a new slot type version is created when the initial - // resource is created and on each update. Defaults to true. + // resource is created and on each update. Defaults to `false`. CreateVersion pulumi.BoolPtrInput // The date when the intent version was created. CreatedDate pulumi.StringPtrInput @@ -291,11 +302,12 @@ type IntentState struct { DialogCodeHook IntentDialogCodeHookPtrInput // Amazon Lex uses this prompt to solicit additional activity after // fulfilling an intent. For example, after the OrderPizza intent is fulfilled, you might prompt the - // user to order a drink. + // user to order a drink. The `followUpPrompt` field and the `conclusionStatement` field are mutually + // exclusive. You can specify only one. Attributes are documented under follow_up_prompt. FollowUpPrompt IntentFollowUpPromptPtrInput // Describes how the intent is fulfilled. For example, after a // user provides all of the information for a pizza order, `fulfillmentActivity` defines how the bot - // places an order with a local pizza store. + // places an order with a local pizza store. Attributes are documented under fulfillment_activity. FulfillmentActivity IntentFulfillmentActivityPtrInput // The date when the $LATEST version of this intent was updated. LastUpdatedDate pulumi.StringPtrInput @@ -306,9 +318,9 @@ type IntentState struct { // [Standard Built-in Intents](https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/built-in-intent-ref/standard-intents) // in the Alexa Skills Kit. ParentIntentSignature pulumi.StringPtrInput - // When the user answers "no" to the question defined in - // `confirmationPrompt`, Amazon Lex responds with this statement to acknowledge that the intent was - // canceled. + // If the user answers "no" to the question defined in the prompt field, + // Amazon Lex responds with this statement to acknowledge that the intent was canceled. Attributes are + // documented below under statement. RejectionStatement IntentRejectionStatementPtrInput // If you know a specific pattern with which users might respond to // an Amazon Lex request for a slot value, you can provide those utterances to improve accuracy. This @@ -327,14 +339,17 @@ func (IntentState) ElementType() reflect.Type { type intentArgs struct { // The statement that you want Amazon Lex to convey to the user - // after the intent is successfully fulfilled by the Lambda function. + // after the intent is successfully fulfilled by the Lambda function. This element is relevant only if + // you provide a Lambda function in the `fulfillmentActivity`. If you return the intent to the client + // application, you can't specify this element. The `followUpPrompt` and `conclusionStatement` are + // mutually exclusive. You can specify only one. Attributes are documented under statement. ConclusionStatement *IntentConclusionStatement `pulumi:"conclusionStatement"` // Prompts the user to confirm the intent. This question should // have a yes or no answer. You you must provide both the `rejectionStatement` and `confirmationPrompt`, // or neither. Attributes are documented under prompt. ConfirmationPrompt *IntentConfirmationPrompt `pulumi:"confirmationPrompt"` // Determines if a new slot type version is created when the initial - // resource is created and on each update. Defaults to true. + // resource is created and on each update. Defaults to `false`. CreateVersion *bool `pulumi:"createVersion"` // A description of the bot. Description *string `pulumi:"description"` @@ -343,11 +358,12 @@ type intentArgs struct { DialogCodeHook *IntentDialogCodeHook `pulumi:"dialogCodeHook"` // Amazon Lex uses this prompt to solicit additional activity after // fulfilling an intent. For example, after the OrderPizza intent is fulfilled, you might prompt the - // user to order a drink. + // user to order a drink. The `followUpPrompt` field and the `conclusionStatement` field are mutually + // exclusive. You can specify only one. Attributes are documented under follow_up_prompt. FollowUpPrompt *IntentFollowUpPrompt `pulumi:"followUpPrompt"` // Describes how the intent is fulfilled. For example, after a // user provides all of the information for a pizza order, `fulfillmentActivity` defines how the bot - // places an order with a local pizza store. + // places an order with a local pizza store. Attributes are documented under fulfillment_activity. FulfillmentActivity IntentFulfillmentActivity `pulumi:"fulfillmentActivity"` // The name of the intent slot that you want to create. The name is case sensitive. Name *string `pulumi:"name"` @@ -356,9 +372,9 @@ type intentArgs struct { // [Standard Built-in Intents](https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/built-in-intent-ref/standard-intents) // in the Alexa Skills Kit. ParentIntentSignature *string `pulumi:"parentIntentSignature"` - // When the user answers "no" to the question defined in - // `confirmationPrompt`, Amazon Lex responds with this statement to acknowledge that the intent was - // canceled. + // If the user answers "no" to the question defined in the prompt field, + // Amazon Lex responds with this statement to acknowledge that the intent was canceled. Attributes are + // documented below under statement. RejectionStatement *IntentRejectionStatement `pulumi:"rejectionStatement"` // If you know a specific pattern with which users might respond to // an Amazon Lex request for a slot value, you can provide those utterances to improve accuracy. This @@ -372,14 +388,17 @@ type intentArgs struct { // The set of arguments for constructing a Intent resource. type IntentArgs struct { // The statement that you want Amazon Lex to convey to the user - // after the intent is successfully fulfilled by the Lambda function. + // after the intent is successfully fulfilled by the Lambda function. This element is relevant only if + // you provide a Lambda function in the `fulfillmentActivity`. If you return the intent to the client + // application, you can't specify this element. The `followUpPrompt` and `conclusionStatement` are + // mutually exclusive. You can specify only one. Attributes are documented under statement. ConclusionStatement IntentConclusionStatementPtrInput // Prompts the user to confirm the intent. This question should // have a yes or no answer. You you must provide both the `rejectionStatement` and `confirmationPrompt`, // or neither. Attributes are documented under prompt. ConfirmationPrompt IntentConfirmationPromptPtrInput // Determines if a new slot type version is created when the initial - // resource is created and on each update. Defaults to true. + // resource is created and on each update. Defaults to `false`. CreateVersion pulumi.BoolPtrInput // A description of the bot. Description pulumi.StringPtrInput @@ -388,11 +407,12 @@ type IntentArgs struct { DialogCodeHook IntentDialogCodeHookPtrInput // Amazon Lex uses this prompt to solicit additional activity after // fulfilling an intent. For example, after the OrderPizza intent is fulfilled, you might prompt the - // user to order a drink. + // user to order a drink. The `followUpPrompt` field and the `conclusionStatement` field are mutually + // exclusive. You can specify only one. Attributes are documented under follow_up_prompt. FollowUpPrompt IntentFollowUpPromptPtrInput // Describes how the intent is fulfilled. For example, after a // user provides all of the information for a pizza order, `fulfillmentActivity` defines how the bot - // places an order with a local pizza store. + // places an order with a local pizza store. Attributes are documented under fulfillment_activity. FulfillmentActivity IntentFulfillmentActivityInput // The name of the intent slot that you want to create. The name is case sensitive. Name pulumi.StringPtrInput @@ -401,9 +421,9 @@ type IntentArgs struct { // [Standard Built-in Intents](https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/built-in-intent-ref/standard-intents) // in the Alexa Skills Kit. ParentIntentSignature pulumi.StringPtrInput - // When the user answers "no" to the question defined in - // `confirmationPrompt`, Amazon Lex responds with this statement to acknowledge that the intent was - // canceled. + // If the user answers "no" to the question defined in the prompt field, + // Amazon Lex responds with this statement to acknowledge that the intent was canceled. Attributes are + // documented below under statement. RejectionStatement IntentRejectionStatementPtrInput // If you know a specific pattern with which users might respond to // an Amazon Lex request for a slot value, you can provide those utterances to improve accuracy. This diff --git a/sdk/go/aws/lex/pulumiTypes.go b/sdk/go/aws/lex/pulumiTypes.go index 0269b3c77d4..13a265a3e51 100644 --- a/sdk/go/aws/lex/pulumiTypes.go +++ b/sdk/go/aws/lex/pulumiTypes.go @@ -294,6 +294,289 @@ func (o BotAbortStatementMessageArrayOutput) Index(i pulumi.IntInput) BotAbortSt }).(BotAbortStatementMessageOutput) } +type BotAliasConversationLogs struct { + // The Amazon Resource Name (ARN) of the IAM role used to write your logs to CloudWatch Logs or an S3 bucket. + IamRoleArn string `pulumi:"iamRoleArn"` + // The settings for your conversation logs. You can log text, audio, or both. Attributes are documented under log_settings. + LogSettings []BotAliasConversationLogsLogSetting `pulumi:"logSettings"` +} + +// BotAliasConversationLogsInput is an input type that accepts BotAliasConversationLogsArgs and BotAliasConversationLogsOutput values. +// You can construct a concrete instance of `BotAliasConversationLogsInput` via: +// +// BotAliasConversationLogsArgs{...} +type BotAliasConversationLogsInput interface { + pulumi.Input + + ToBotAliasConversationLogsOutput() BotAliasConversationLogsOutput + ToBotAliasConversationLogsOutputWithContext(context.Context) BotAliasConversationLogsOutput +} + +type BotAliasConversationLogsArgs struct { + // The Amazon Resource Name (ARN) of the IAM role used to write your logs to CloudWatch Logs or an S3 bucket. + IamRoleArn pulumi.StringInput `pulumi:"iamRoleArn"` + // The settings for your conversation logs. You can log text, audio, or both. Attributes are documented under log_settings. + LogSettings BotAliasConversationLogsLogSettingArrayInput `pulumi:"logSettings"` +} + +func (BotAliasConversationLogsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*BotAliasConversationLogs)(nil)).Elem() +} + +func (i BotAliasConversationLogsArgs) ToBotAliasConversationLogsOutput() BotAliasConversationLogsOutput { + return i.ToBotAliasConversationLogsOutputWithContext(context.Background()) +} + +func (i BotAliasConversationLogsArgs) ToBotAliasConversationLogsOutputWithContext(ctx context.Context) BotAliasConversationLogsOutput { + return pulumi.ToOutputWithContext(ctx, i).(BotAliasConversationLogsOutput) +} + +func (i BotAliasConversationLogsArgs) ToBotAliasConversationLogsPtrOutput() BotAliasConversationLogsPtrOutput { + return i.ToBotAliasConversationLogsPtrOutputWithContext(context.Background()) +} + +func (i BotAliasConversationLogsArgs) ToBotAliasConversationLogsPtrOutputWithContext(ctx context.Context) BotAliasConversationLogsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(BotAliasConversationLogsOutput).ToBotAliasConversationLogsPtrOutputWithContext(ctx) +} + +// BotAliasConversationLogsPtrInput is an input type that accepts BotAliasConversationLogsArgs, BotAliasConversationLogsPtr and BotAliasConversationLogsPtrOutput values. +// You can construct a concrete instance of `BotAliasConversationLogsPtrInput` via: +// +// BotAliasConversationLogsArgs{...} +// +// or: +// +// nil +type BotAliasConversationLogsPtrInput interface { + pulumi.Input + + ToBotAliasConversationLogsPtrOutput() BotAliasConversationLogsPtrOutput + ToBotAliasConversationLogsPtrOutputWithContext(context.Context) BotAliasConversationLogsPtrOutput +} + +type botAliasConversationLogsPtrType BotAliasConversationLogsArgs + +func BotAliasConversationLogsPtr(v *BotAliasConversationLogsArgs) BotAliasConversationLogsPtrInput { + return (*botAliasConversationLogsPtrType)(v) +} + +func (*botAliasConversationLogsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**BotAliasConversationLogs)(nil)).Elem() +} + +func (i *botAliasConversationLogsPtrType) ToBotAliasConversationLogsPtrOutput() BotAliasConversationLogsPtrOutput { + return i.ToBotAliasConversationLogsPtrOutputWithContext(context.Background()) +} + +func (i *botAliasConversationLogsPtrType) ToBotAliasConversationLogsPtrOutputWithContext(ctx context.Context) BotAliasConversationLogsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(BotAliasConversationLogsPtrOutput) +} + +type BotAliasConversationLogsOutput struct{ *pulumi.OutputState } + +func (BotAliasConversationLogsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*BotAliasConversationLogs)(nil)).Elem() +} + +func (o BotAliasConversationLogsOutput) ToBotAliasConversationLogsOutput() BotAliasConversationLogsOutput { + return o +} + +func (o BotAliasConversationLogsOutput) ToBotAliasConversationLogsOutputWithContext(ctx context.Context) BotAliasConversationLogsOutput { + return o +} + +func (o BotAliasConversationLogsOutput) ToBotAliasConversationLogsPtrOutput() BotAliasConversationLogsPtrOutput { + return o.ToBotAliasConversationLogsPtrOutputWithContext(context.Background()) +} + +func (o BotAliasConversationLogsOutput) ToBotAliasConversationLogsPtrOutputWithContext(ctx context.Context) BotAliasConversationLogsPtrOutput { + return o.ApplyT(func(v BotAliasConversationLogs) *BotAliasConversationLogs { + return &v + }).(BotAliasConversationLogsPtrOutput) +} + +// The Amazon Resource Name (ARN) of the IAM role used to write your logs to CloudWatch Logs or an S3 bucket. +func (o BotAliasConversationLogsOutput) IamRoleArn() pulumi.StringOutput { + return o.ApplyT(func(v BotAliasConversationLogs) string { return v.IamRoleArn }).(pulumi.StringOutput) +} + +// The settings for your conversation logs. You can log text, audio, or both. Attributes are documented under log_settings. +func (o BotAliasConversationLogsOutput) LogSettings() BotAliasConversationLogsLogSettingArrayOutput { + return o.ApplyT(func(v BotAliasConversationLogs) []BotAliasConversationLogsLogSetting { return v.LogSettings }).(BotAliasConversationLogsLogSettingArrayOutput) +} + +type BotAliasConversationLogsPtrOutput struct{ *pulumi.OutputState } + +func (BotAliasConversationLogsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**BotAliasConversationLogs)(nil)).Elem() +} + +func (o BotAliasConversationLogsPtrOutput) ToBotAliasConversationLogsPtrOutput() BotAliasConversationLogsPtrOutput { + return o +} + +func (o BotAliasConversationLogsPtrOutput) ToBotAliasConversationLogsPtrOutputWithContext(ctx context.Context) BotAliasConversationLogsPtrOutput { + return o +} + +func (o BotAliasConversationLogsPtrOutput) Elem() BotAliasConversationLogsOutput { + return o.ApplyT(func(v *BotAliasConversationLogs) BotAliasConversationLogs { return *v }).(BotAliasConversationLogsOutput) +} + +// The Amazon Resource Name (ARN) of the IAM role used to write your logs to CloudWatch Logs or an S3 bucket. +func (o BotAliasConversationLogsPtrOutput) IamRoleArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *BotAliasConversationLogs) *string { + if v == nil { + return nil + } + return &v.IamRoleArn + }).(pulumi.StringPtrOutput) +} + +// The settings for your conversation logs. You can log text, audio, or both. Attributes are documented under log_settings. +func (o BotAliasConversationLogsPtrOutput) LogSettings() BotAliasConversationLogsLogSettingArrayOutput { + return o.ApplyT(func(v *BotAliasConversationLogs) []BotAliasConversationLogsLogSetting { + if v == nil { + return nil + } + return v.LogSettings + }).(BotAliasConversationLogsLogSettingArrayOutput) +} + +type BotAliasConversationLogsLogSetting struct { + // The destination where logs are delivered. Options are `CLOUDWATCH_LOGS` or `S3`. + Destination string `pulumi:"destination"` + // The Amazon Resource Name (ARN) of the key used to encrypt audio logs in an S3 bucket. This can only be specified when `destination` is set to `S3`. + KmsKeyArn *string `pulumi:"kmsKeyArn"` + // The type of logging that is enabled. Options are `AUDIO` or `TEXT`. + LogType string `pulumi:"logType"` + // The Amazon Resource Name (ARN) of the CloudWatch Logs log group or S3 bucket where the logs are delivered. + ResourceArn string `pulumi:"resourceArn"` + // The prefix of the S3 object key for `AUDIO` logs or the log stream name for `TEXT` logs. + ResourcePrefix *string `pulumi:"resourcePrefix"` +} + +// BotAliasConversationLogsLogSettingInput is an input type that accepts BotAliasConversationLogsLogSettingArgs and BotAliasConversationLogsLogSettingOutput values. +// You can construct a concrete instance of `BotAliasConversationLogsLogSettingInput` via: +// +// BotAliasConversationLogsLogSettingArgs{...} +type BotAliasConversationLogsLogSettingInput interface { + pulumi.Input + + ToBotAliasConversationLogsLogSettingOutput() BotAliasConversationLogsLogSettingOutput + ToBotAliasConversationLogsLogSettingOutputWithContext(context.Context) BotAliasConversationLogsLogSettingOutput +} + +type BotAliasConversationLogsLogSettingArgs struct { + // The destination where logs are delivered. Options are `CLOUDWATCH_LOGS` or `S3`. + Destination pulumi.StringInput `pulumi:"destination"` + // The Amazon Resource Name (ARN) of the key used to encrypt audio logs in an S3 bucket. This can only be specified when `destination` is set to `S3`. + KmsKeyArn pulumi.StringPtrInput `pulumi:"kmsKeyArn"` + // The type of logging that is enabled. Options are `AUDIO` or `TEXT`. + LogType pulumi.StringInput `pulumi:"logType"` + // The Amazon Resource Name (ARN) of the CloudWatch Logs log group or S3 bucket where the logs are delivered. + ResourceArn pulumi.StringInput `pulumi:"resourceArn"` + // The prefix of the S3 object key for `AUDIO` logs or the log stream name for `TEXT` logs. + ResourcePrefix pulumi.StringPtrInput `pulumi:"resourcePrefix"` +} + +func (BotAliasConversationLogsLogSettingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*BotAliasConversationLogsLogSetting)(nil)).Elem() +} + +func (i BotAliasConversationLogsLogSettingArgs) ToBotAliasConversationLogsLogSettingOutput() BotAliasConversationLogsLogSettingOutput { + return i.ToBotAliasConversationLogsLogSettingOutputWithContext(context.Background()) +} + +func (i BotAliasConversationLogsLogSettingArgs) ToBotAliasConversationLogsLogSettingOutputWithContext(ctx context.Context) BotAliasConversationLogsLogSettingOutput { + return pulumi.ToOutputWithContext(ctx, i).(BotAliasConversationLogsLogSettingOutput) +} + +// BotAliasConversationLogsLogSettingArrayInput is an input type that accepts BotAliasConversationLogsLogSettingArray and BotAliasConversationLogsLogSettingArrayOutput values. +// You can construct a concrete instance of `BotAliasConversationLogsLogSettingArrayInput` via: +// +// BotAliasConversationLogsLogSettingArray{ BotAliasConversationLogsLogSettingArgs{...} } +type BotAliasConversationLogsLogSettingArrayInput interface { + pulumi.Input + + ToBotAliasConversationLogsLogSettingArrayOutput() BotAliasConversationLogsLogSettingArrayOutput + ToBotAliasConversationLogsLogSettingArrayOutputWithContext(context.Context) BotAliasConversationLogsLogSettingArrayOutput +} + +type BotAliasConversationLogsLogSettingArray []BotAliasConversationLogsLogSettingInput + +func (BotAliasConversationLogsLogSettingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]BotAliasConversationLogsLogSetting)(nil)).Elem() +} + +func (i BotAliasConversationLogsLogSettingArray) ToBotAliasConversationLogsLogSettingArrayOutput() BotAliasConversationLogsLogSettingArrayOutput { + return i.ToBotAliasConversationLogsLogSettingArrayOutputWithContext(context.Background()) +} + +func (i BotAliasConversationLogsLogSettingArray) ToBotAliasConversationLogsLogSettingArrayOutputWithContext(ctx context.Context) BotAliasConversationLogsLogSettingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(BotAliasConversationLogsLogSettingArrayOutput) +} + +type BotAliasConversationLogsLogSettingOutput struct{ *pulumi.OutputState } + +func (BotAliasConversationLogsLogSettingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*BotAliasConversationLogsLogSetting)(nil)).Elem() +} + +func (o BotAliasConversationLogsLogSettingOutput) ToBotAliasConversationLogsLogSettingOutput() BotAliasConversationLogsLogSettingOutput { + return o +} + +func (o BotAliasConversationLogsLogSettingOutput) ToBotAliasConversationLogsLogSettingOutputWithContext(ctx context.Context) BotAliasConversationLogsLogSettingOutput { + return o +} + +// The destination where logs are delivered. Options are `CLOUDWATCH_LOGS` or `S3`. +func (o BotAliasConversationLogsLogSettingOutput) Destination() pulumi.StringOutput { + return o.ApplyT(func(v BotAliasConversationLogsLogSetting) string { return v.Destination }).(pulumi.StringOutput) +} + +// The Amazon Resource Name (ARN) of the key used to encrypt audio logs in an S3 bucket. This can only be specified when `destination` is set to `S3`. +func (o BotAliasConversationLogsLogSettingOutput) KmsKeyArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v BotAliasConversationLogsLogSetting) *string { return v.KmsKeyArn }).(pulumi.StringPtrOutput) +} + +// The type of logging that is enabled. Options are `AUDIO` or `TEXT`. +func (o BotAliasConversationLogsLogSettingOutput) LogType() pulumi.StringOutput { + return o.ApplyT(func(v BotAliasConversationLogsLogSetting) string { return v.LogType }).(pulumi.StringOutput) +} + +// The Amazon Resource Name (ARN) of the CloudWatch Logs log group or S3 bucket where the logs are delivered. +func (o BotAliasConversationLogsLogSettingOutput) ResourceArn() pulumi.StringOutput { + return o.ApplyT(func(v BotAliasConversationLogsLogSetting) string { return v.ResourceArn }).(pulumi.StringOutput) +} + +// The prefix of the S3 object key for `AUDIO` logs or the log stream name for `TEXT` logs. +func (o BotAliasConversationLogsLogSettingOutput) ResourcePrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v BotAliasConversationLogsLogSetting) *string { return v.ResourcePrefix }).(pulumi.StringPtrOutput) +} + +type BotAliasConversationLogsLogSettingArrayOutput struct{ *pulumi.OutputState } + +func (BotAliasConversationLogsLogSettingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]BotAliasConversationLogsLogSetting)(nil)).Elem() +} + +func (o BotAliasConversationLogsLogSettingArrayOutput) ToBotAliasConversationLogsLogSettingArrayOutput() BotAliasConversationLogsLogSettingArrayOutput { + return o +} + +func (o BotAliasConversationLogsLogSettingArrayOutput) ToBotAliasConversationLogsLogSettingArrayOutputWithContext(ctx context.Context) BotAliasConversationLogsLogSettingArrayOutput { + return o +} + +func (o BotAliasConversationLogsLogSettingArrayOutput) Index(i pulumi.IntInput) BotAliasConversationLogsLogSettingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) BotAliasConversationLogsLogSetting { + return vs[0].([]BotAliasConversationLogsLogSetting)[vs[1].(int)] + }).(BotAliasConversationLogsLogSettingOutput) +} + type BotClarificationPrompt struct { // The number of times to prompt the user for information. MaxAttempts int `pulumi:"maxAttempts"` @@ -1451,9 +1734,9 @@ func (o IntentDialogCodeHookPtrOutput) Uri() pulumi.StringPtrOutput { type IntentFollowUpPrompt struct { // Prompts for information from the user. Attributes are documented under prompt. Prompt IntentFollowUpPromptPrompt `pulumi:"prompt"` - // When the user answers "no" to the question defined in - // `confirmationPrompt`, Amazon Lex responds with this statement to acknowledge that the intent was - // canceled. + // If the user answers "no" to the question defined in the prompt field, + // Amazon Lex responds with this statement to acknowledge that the intent was canceled. Attributes are + // documented below under statement. RejectionStatement IntentFollowUpPromptRejectionStatement `pulumi:"rejectionStatement"` } @@ -1471,9 +1754,9 @@ type IntentFollowUpPromptInput interface { type IntentFollowUpPromptArgs struct { // Prompts for information from the user. Attributes are documented under prompt. Prompt IntentFollowUpPromptPromptInput `pulumi:"prompt"` - // When the user answers "no" to the question defined in - // `confirmationPrompt`, Amazon Lex responds with this statement to acknowledge that the intent was - // canceled. + // If the user answers "no" to the question defined in the prompt field, + // Amazon Lex responds with this statement to acknowledge that the intent was canceled. Attributes are + // documented below under statement. RejectionStatement IntentFollowUpPromptRejectionStatementInput `pulumi:"rejectionStatement"` } @@ -1559,9 +1842,9 @@ func (o IntentFollowUpPromptOutput) Prompt() IntentFollowUpPromptPromptOutput { return o.ApplyT(func(v IntentFollowUpPrompt) IntentFollowUpPromptPrompt { return v.Prompt }).(IntentFollowUpPromptPromptOutput) } -// When the user answers "no" to the question defined in -// `confirmationPrompt`, Amazon Lex responds with this statement to acknowledge that the intent was -// canceled. +// If the user answers "no" to the question defined in the prompt field, +// Amazon Lex responds with this statement to acknowledge that the intent was canceled. Attributes are +// documented below under statement. func (o IntentFollowUpPromptOutput) RejectionStatement() IntentFollowUpPromptRejectionStatementOutput { return o.ApplyT(func(v IntentFollowUpPrompt) IntentFollowUpPromptRejectionStatement { return v.RejectionStatement }).(IntentFollowUpPromptRejectionStatementOutput) } @@ -1594,9 +1877,9 @@ func (o IntentFollowUpPromptPtrOutput) Prompt() IntentFollowUpPromptPromptPtrOut }).(IntentFollowUpPromptPromptPtrOutput) } -// When the user answers "no" to the question defined in -// `confirmationPrompt`, Amazon Lex responds with this statement to acknowledge that the intent was -// canceled. +// If the user answers "no" to the question defined in the prompt field, +// Amazon Lex responds with this statement to acknowledge that the intent was canceled. Attributes are +// documented below under statement. func (o IntentFollowUpPromptPtrOutput) RejectionStatement() IntentFollowUpPromptRejectionStatementPtrOutput { return o.ApplyT(func(v *IntentFollowUpPrompt) *IntentFollowUpPromptRejectionStatement { if v == nil { @@ -2802,7 +3085,8 @@ type IntentSlot struct { Name string `pulumi:"name"` // Directs Lex the order in which to elicit this slot value from the user. // For example, if the intent has two slots with priorities 1 and 2, AWS Lex first elicits a value for - // the slot with priority 1. + // the slot with priority 1. If multiple slots share the same priority, the order in which Lex elicits + // values is arbitrary. Priority *int `pulumi:"priority"` // The response card. Amazon Lex will substitute session attributes and // slot values into the response card. For more information, see @@ -2842,7 +3126,8 @@ type IntentSlotArgs struct { Name pulumi.StringInput `pulumi:"name"` // Directs Lex the order in which to elicit this slot value from the user. // For example, if the intent has two slots with priorities 1 and 2, AWS Lex first elicits a value for - // the slot with priority 1. + // the slot with priority 1. If multiple slots share the same priority, the order in which Lex elicits + // values is arbitrary. Priority pulumi.IntPtrInput `pulumi:"priority"` // The response card. Amazon Lex will substitute session attributes and // slot values into the response card. For more information, see @@ -2927,7 +3212,8 @@ func (o IntentSlotOutput) Name() pulumi.StringOutput { // Directs Lex the order in which to elicit this slot value from the user. // For example, if the intent has two slots with priorities 1 and 2, AWS Lex first elicits a value for -// the slot with priority 1. +// the slot with priority 1. If multiple slots share the same priority, the order in which Lex elicits +// values is arbitrary. func (o IntentSlotOutput) Priority() pulumi.IntPtrOutput { return o.ApplyT(func(v IntentSlot) *int { return v.Priority }).(pulumi.IntPtrOutput) } @@ -3502,6 +3788,10 @@ func init() { pulumi.RegisterOutputType(BotAbortStatementPtrOutput{}) pulumi.RegisterOutputType(BotAbortStatementMessageOutput{}) pulumi.RegisterOutputType(BotAbortStatementMessageArrayOutput{}) + pulumi.RegisterOutputType(BotAliasConversationLogsOutput{}) + pulumi.RegisterOutputType(BotAliasConversationLogsPtrOutput{}) + pulumi.RegisterOutputType(BotAliasConversationLogsLogSettingOutput{}) + pulumi.RegisterOutputType(BotAliasConversationLogsLogSettingArrayOutput{}) pulumi.RegisterOutputType(BotClarificationPromptOutput{}) pulumi.RegisterOutputType(BotClarificationPromptPtrOutput{}) pulumi.RegisterOutputType(BotClarificationPromptMessageOutput{}) diff --git a/sdk/go/aws/lex/slotType.go b/sdk/go/aws/lex/slotType.go index d2b08affe20..b786c3dcd1f 100644 --- a/sdk/go/aws/lex/slotType.go +++ b/sdk/go/aws/lex/slotType.go @@ -26,7 +26,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := lex.NewSlotType(ctx, "flowerTypes", &lex.SlotTypeArgs{ -// CreateVersion: pulumi.Bool(false), +// CreateVersion: pulumi.Bool(true), // Description: pulumi.String("Types of flowers to order"), // EnumerationValues: lex.SlotTypeEnumerationValueArray{ // &lex.SlotTypeEnumerationValueArgs{ @@ -60,7 +60,7 @@ type SlotType struct { // not included as an argument because the resource will add it automatically when updating the slot type. Checksum pulumi.StringOutput `pulumi:"checksum"` // Determines if a new slot type version is created when the initial resource is created and on each - // update. Defaults to true. + // update. Defaults to `false`. CreateVersion pulumi.BoolPtrOutput `pulumi:"createVersion"` // The date when the slot type version was created. CreatedDate pulumi.StringOutput `pulumi:"createdDate"` @@ -78,7 +78,7 @@ type SlotType struct { // Determines the slot resolution strategy that Amazon Lex // uses to return slot type values. `ORIGINAL_VALUE` returns the value entered by the user if the user // value is similar to the slot value. `TOP_RESOLUTION` returns the first value in the resolution list - // if there is a resolution list for the slot, otherwise null is returned. + // if there is a resolution list for the slot, otherwise null is returned. Defaults to `ORIGINAL_VALUE`. ValueSelectionStrategy pulumi.StringPtrOutput `pulumi:"valueSelectionStrategy"` // The version of the slot type. Version pulumi.StringOutput `pulumi:"version"` @@ -119,7 +119,7 @@ type slotTypeState struct { // not included as an argument because the resource will add it automatically when updating the slot type. Checksum *string `pulumi:"checksum"` // Determines if a new slot type version is created when the initial resource is created and on each - // update. Defaults to true. + // update. Defaults to `false`. CreateVersion *bool `pulumi:"createVersion"` // The date when the slot type version was created. CreatedDate *string `pulumi:"createdDate"` @@ -137,7 +137,7 @@ type slotTypeState struct { // Determines the slot resolution strategy that Amazon Lex // uses to return slot type values. `ORIGINAL_VALUE` returns the value entered by the user if the user // value is similar to the slot value. `TOP_RESOLUTION` returns the first value in the resolution list - // if there is a resolution list for the slot, otherwise null is returned. + // if there is a resolution list for the slot, otherwise null is returned. Defaults to `ORIGINAL_VALUE`. ValueSelectionStrategy *string `pulumi:"valueSelectionStrategy"` // The version of the slot type. Version *string `pulumi:"version"` @@ -148,7 +148,7 @@ type SlotTypeState struct { // not included as an argument because the resource will add it automatically when updating the slot type. Checksum pulumi.StringPtrInput // Determines if a new slot type version is created when the initial resource is created and on each - // update. Defaults to true. + // update. Defaults to `false`. CreateVersion pulumi.BoolPtrInput // The date when the slot type version was created. CreatedDate pulumi.StringPtrInput @@ -166,7 +166,7 @@ type SlotTypeState struct { // Determines the slot resolution strategy that Amazon Lex // uses to return slot type values. `ORIGINAL_VALUE` returns the value entered by the user if the user // value is similar to the slot value. `TOP_RESOLUTION` returns the first value in the resolution list - // if there is a resolution list for the slot, otherwise null is returned. + // if there is a resolution list for the slot, otherwise null is returned. Defaults to `ORIGINAL_VALUE`. ValueSelectionStrategy pulumi.StringPtrInput // The version of the slot type. Version pulumi.StringPtrInput @@ -178,7 +178,7 @@ func (SlotTypeState) ElementType() reflect.Type { type slotTypeArgs struct { // Determines if a new slot type version is created when the initial resource is created and on each - // update. Defaults to true. + // update. Defaults to `false`. CreateVersion *bool `pulumi:"createVersion"` // A description of the slot type. Description *string `pulumi:"description"` @@ -192,14 +192,14 @@ type slotTypeArgs struct { // Determines the slot resolution strategy that Amazon Lex // uses to return slot type values. `ORIGINAL_VALUE` returns the value entered by the user if the user // value is similar to the slot value. `TOP_RESOLUTION` returns the first value in the resolution list - // if there is a resolution list for the slot, otherwise null is returned. + // if there is a resolution list for the slot, otherwise null is returned. Defaults to `ORIGINAL_VALUE`. ValueSelectionStrategy *string `pulumi:"valueSelectionStrategy"` } // The set of arguments for constructing a SlotType resource. type SlotTypeArgs struct { // Determines if a new slot type version is created when the initial resource is created and on each - // update. Defaults to true. + // update. Defaults to `false`. CreateVersion pulumi.BoolPtrInput // A description of the slot type. Description pulumi.StringPtrInput @@ -213,7 +213,7 @@ type SlotTypeArgs struct { // Determines the slot resolution strategy that Amazon Lex // uses to return slot type values. `ORIGINAL_VALUE` returns the value entered by the user if the user // value is similar to the slot value. `TOP_RESOLUTION` returns the first value in the resolution list - // if there is a resolution list for the slot, otherwise null is returned. + // if there is a resolution list for the slot, otherwise null is returned. Defaults to `ORIGINAL_VALUE`. ValueSelectionStrategy pulumi.StringPtrInput } diff --git a/sdk/go/aws/msk/cluster.go b/sdk/go/aws/msk/cluster.go index 1044e664514..3cf426789cd 100644 --- a/sdk/go/aws/msk/cluster.go +++ b/sdk/go/aws/msk/cluster.go @@ -175,9 +175,9 @@ type Cluster struct { // Amazon Resource Name (ARN) of the MSK Configuration to use in the cluster. Arn pulumi.StringOutput `pulumi:"arn"` - // A comma separated list of one or more hostname:port pairs of kafka brokers suitable to boostrap connectivity to the kafka cluster. Only contains value if `clientBroker` encryption in transit is set to `PLAINTEXT` or `TLS_PLAINTEXT`. + // A comma separated list of one or more hostname:port pairs of kafka brokers suitable to bootstrap connectivity to the kafka cluster. Only contains value if `clientBroker` encryption in transit is set to `PLAINTEXT` or `TLS_PLAINTEXT`. BootstrapBrokers pulumi.StringOutput `pulumi:"bootstrapBrokers"` - // A comma separated list of one or more DNS names (or IPs) and TLS port pairs kafka brokers suitable to boostrap connectivity to the kafka cluster. Only contains value if `clientBroker` encryption in transit is set to `TLS_PLAINTEXT` or `TLS`. + // A comma separated list of one or more DNS names (or IPs) and TLS port pairs kafka brokers suitable to bootstrap connectivity to the kafka cluster. Only contains value if `clientBroker` encryption in transit is set to `TLS_PLAINTEXT` or `TLS`. BootstrapBrokersTls pulumi.StringOutput `pulumi:"bootstrapBrokersTls"` // Configuration block for the broker nodes of the Kafka cluster. BrokerNodeGroupInfo ClusterBrokerNodeGroupInfoOutput `pulumi:"brokerNodeGroupInfo"` @@ -250,9 +250,9 @@ func GetCluster(ctx *pulumi.Context, type clusterState struct { // Amazon Resource Name (ARN) of the MSK Configuration to use in the cluster. Arn *string `pulumi:"arn"` - // A comma separated list of one or more hostname:port pairs of kafka brokers suitable to boostrap connectivity to the kafka cluster. Only contains value if `clientBroker` encryption in transit is set to `PLAINTEXT` or `TLS_PLAINTEXT`. + // A comma separated list of one or more hostname:port pairs of kafka brokers suitable to bootstrap connectivity to the kafka cluster. Only contains value if `clientBroker` encryption in transit is set to `PLAINTEXT` or `TLS_PLAINTEXT`. BootstrapBrokers *string `pulumi:"bootstrapBrokers"` - // A comma separated list of one or more DNS names (or IPs) and TLS port pairs kafka brokers suitable to boostrap connectivity to the kafka cluster. Only contains value if `clientBroker` encryption in transit is set to `TLS_PLAINTEXT` or `TLS`. + // A comma separated list of one or more DNS names (or IPs) and TLS port pairs kafka brokers suitable to bootstrap connectivity to the kafka cluster. Only contains value if `clientBroker` encryption in transit is set to `TLS_PLAINTEXT` or `TLS`. BootstrapBrokersTls *string `pulumi:"bootstrapBrokersTls"` // Configuration block for the broker nodes of the Kafka cluster. BrokerNodeGroupInfo *ClusterBrokerNodeGroupInfo `pulumi:"brokerNodeGroupInfo"` @@ -286,9 +286,9 @@ type clusterState struct { type ClusterState struct { // Amazon Resource Name (ARN) of the MSK Configuration to use in the cluster. Arn pulumi.StringPtrInput - // A comma separated list of one or more hostname:port pairs of kafka brokers suitable to boostrap connectivity to the kafka cluster. Only contains value if `clientBroker` encryption in transit is set to `PLAINTEXT` or `TLS_PLAINTEXT`. + // A comma separated list of one or more hostname:port pairs of kafka brokers suitable to bootstrap connectivity to the kafka cluster. Only contains value if `clientBroker` encryption in transit is set to `PLAINTEXT` or `TLS_PLAINTEXT`. BootstrapBrokers pulumi.StringPtrInput - // A comma separated list of one or more DNS names (or IPs) and TLS port pairs kafka brokers suitable to boostrap connectivity to the kafka cluster. Only contains value if `clientBroker` encryption in transit is set to `TLS_PLAINTEXT` or `TLS`. + // A comma separated list of one or more DNS names (or IPs) and TLS port pairs kafka brokers suitable to bootstrap connectivity to the kafka cluster. Only contains value if `clientBroker` encryption in transit is set to `TLS_PLAINTEXT` or `TLS`. BootstrapBrokersTls pulumi.StringPtrInput // Configuration block for the broker nodes of the Kafka cluster. BrokerNodeGroupInfo ClusterBrokerNodeGroupInfoPtrInput diff --git a/sdk/go/aws/neptune/clusterInstance.go b/sdk/go/aws/neptune/clusterInstance.go index f64cb86aa6d..84813ce62c4 100644 --- a/sdk/go/aws/neptune/clusterInstance.go +++ b/sdk/go/aws/neptune/clusterInstance.go @@ -82,7 +82,7 @@ type ClusterInstance struct { Engine pulumi.StringPtrOutput `pulumi:"engine"` // The neptune engine version. EngineVersion pulumi.StringOutput `pulumi:"engineVersion"` - // The indentifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. + // The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. Identifier pulumi.StringOutput `pulumi:"identifier"` // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. IdentifierPrefix pulumi.StringOutput `pulumi:"identifierPrefix"` @@ -168,7 +168,7 @@ type clusterInstanceState struct { Engine *string `pulumi:"engine"` // The neptune engine version. EngineVersion *string `pulumi:"engineVersion"` - // The indentifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. + // The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. Identifier *string `pulumi:"identifier"` // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. IdentifierPrefix *string `pulumi:"identifierPrefix"` @@ -221,7 +221,7 @@ type ClusterInstanceState struct { Engine pulumi.StringPtrInput // The neptune engine version. EngineVersion pulumi.StringPtrInput - // The indentifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. + // The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. Identifier pulumi.StringPtrInput // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. IdentifierPrefix pulumi.StringPtrInput @@ -270,7 +270,7 @@ type clusterInstanceArgs struct { Engine *string `pulumi:"engine"` // The neptune engine version. EngineVersion *string `pulumi:"engineVersion"` - // The indentifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. + // The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. Identifier *string `pulumi:"identifier"` // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. IdentifierPrefix *string `pulumi:"identifierPrefix"` @@ -310,7 +310,7 @@ type ClusterInstanceArgs struct { Engine pulumi.StringPtrInput // The neptune engine version. EngineVersion pulumi.StringPtrInput - // The indentifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. + // The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. Identifier pulumi.StringPtrInput // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. IdentifierPrefix pulumi.StringPtrInput diff --git a/sdk/go/aws/pulumiTypes.go b/sdk/go/aws/pulumiTypes.go index 756a07632fc..63f26f23b57 100644 --- a/sdk/go/aws/pulumiTypes.go +++ b/sdk/go/aws/pulumiTypes.go @@ -376,6 +376,7 @@ type ProviderEndpoint struct { Sts *string `pulumi:"sts"` Swf *string `pulumi:"swf"` Synthetics *string `pulumi:"synthetics"` + Timestreamwrite *string `pulumi:"timestreamwrite"` Transfer *string `pulumi:"transfer"` Waf *string `pulumi:"waf"` Wafregional *string `pulumi:"wafregional"` @@ -532,6 +533,7 @@ type ProviderEndpointArgs struct { Sts pulumi.StringPtrInput `pulumi:"sts"` Swf pulumi.StringPtrInput `pulumi:"swf"` Synthetics pulumi.StringPtrInput `pulumi:"synthetics"` + Timestreamwrite pulumi.StringPtrInput `pulumi:"timestreamwrite"` Transfer pulumi.StringPtrInput `pulumi:"transfer"` Waf pulumi.StringPtrInput `pulumi:"waf"` Wafregional pulumi.StringPtrInput `pulumi:"wafregional"` @@ -1129,6 +1131,10 @@ func (o ProviderEndpointOutput) Synthetics() pulumi.StringPtrOutput { return o.ApplyT(func(v ProviderEndpoint) *string { return v.Synthetics }).(pulumi.StringPtrOutput) } +func (o ProviderEndpointOutput) Timestreamwrite() pulumi.StringPtrOutput { + return o.ApplyT(func(v ProviderEndpoint) *string { return v.Timestreamwrite }).(pulumi.StringPtrOutput) +} + func (o ProviderEndpointOutput) Transfer() pulumi.StringPtrOutput { return o.ApplyT(func(v ProviderEndpoint) *string { return v.Transfer }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/aws/rds/proxy.go b/sdk/go/aws/rds/proxy.go index 543c02ae0e4..839a48e0343 100644 --- a/sdk/go/aws/rds/proxy.go +++ b/sdk/go/aws/rds/proxy.go @@ -37,7 +37,6 @@ type Proxy struct { // One or more VPC security group IDs to associate with the new proxy. VpcSecurityGroupIds pulumi.StringArrayOutput `pulumi:"vpcSecurityGroupIds"` // One or more VPC subnet IDs to associate with the new proxy. - // describe-db-parameters.html) after initial creation of the group. VpcSubnetIds pulumi.StringArrayOutput `pulumi:"vpcSubnetIds"` } @@ -104,7 +103,6 @@ type proxyState struct { // One or more VPC security group IDs to associate with the new proxy. VpcSecurityGroupIds []string `pulumi:"vpcSecurityGroupIds"` // One or more VPC subnet IDs to associate with the new proxy. - // describe-db-parameters.html) after initial creation of the group. VpcSubnetIds []string `pulumi:"vpcSubnetIds"` } @@ -132,7 +130,6 @@ type ProxyState struct { // One or more VPC security group IDs to associate with the new proxy. VpcSecurityGroupIds pulumi.StringArrayInput // One or more VPC subnet IDs to associate with the new proxy. - // describe-db-parameters.html) after initial creation of the group. VpcSubnetIds pulumi.StringArrayInput } @@ -160,7 +157,6 @@ type proxyArgs struct { // One or more VPC security group IDs to associate with the new proxy. VpcSecurityGroupIds []string `pulumi:"vpcSecurityGroupIds"` // One or more VPC subnet IDs to associate with the new proxy. - // describe-db-parameters.html) after initial creation of the group. VpcSubnetIds []string `pulumi:"vpcSubnetIds"` } @@ -185,7 +181,6 @@ type ProxyArgs struct { // One or more VPC security group IDs to associate with the new proxy. VpcSecurityGroupIds pulumi.StringArrayInput // One or more VPC subnet IDs to associate with the new proxy. - // describe-db-parameters.html) after initial creation of the group. VpcSubnetIds pulumi.StringArrayInput } diff --git a/sdk/go/aws/redshift/getOrderableCluster.go b/sdk/go/aws/redshift/getOrderableCluster.go new file mode 100644 index 00000000000..cb75da77f30 --- /dev/null +++ b/sdk/go/aws/redshift/getOrderableCluster.go @@ -0,0 +1,70 @@ +// *** 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! *** + +package redshift + +import ( + "github.com/pulumi/pulumi/sdk/v2/go/pulumi" +) + +// Information about Redshift Orderable Clusters and valid parameter combinations. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// "github.com/pulumi/pulumi-aws/sdk/v3/go/aws/redshift" +// "github.com/pulumi/pulumi/sdk/v2/go/pulumi" +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// opt0 := "multi-node" +// _, err := redshift.GetOrderableCluster(ctx, &redshift.GetOrderableClusterArgs{ +// ClusterType: &opt0, +// PreferredNodeTypes: []string{ +// "dc2.large", +// "ds2.xlarge", +// }, +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// ``` +func GetOrderableCluster(ctx *pulumi.Context, args *GetOrderableClusterArgs, opts ...pulumi.InvokeOption) (*GetOrderableClusterResult, error) { + var rv GetOrderableClusterResult + err := ctx.Invoke("aws:redshift/getOrderableCluster:getOrderableCluster", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getOrderableCluster. +type GetOrderableClusterArgs struct { + // Reshift Cluster type. e.g. `multi-node` or `single-node` + ClusterType *string `pulumi:"clusterType"` + // Redshift Cluster version. e.g. `1.0` + ClusterVersion *string `pulumi:"clusterVersion"` + // Redshift Cluster node type. e.g. `dc2.8xlarge` + NodeType *string `pulumi:"nodeType"` + // Ordered list of preferred Redshift Cluster node types. The first match in this list will be returned. If no preferred matches are found and the original search returned more than one result, an error is returned. + PreferredNodeTypes []string `pulumi:"preferredNodeTypes"` +} + +// A collection of values returned by getOrderableCluster. +type GetOrderableClusterResult struct { + // List of Availability Zone names where the Redshit Cluster is available. + AvailabilityZones []string `pulumi:"availabilityZones"` + ClusterType string `pulumi:"clusterType"` + ClusterVersion string `pulumi:"clusterVersion"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + NodeType string `pulumi:"nodeType"` + PreferredNodeTypes []string `pulumi:"preferredNodeTypes"` +} diff --git a/sdk/go/aws/s3/bucketObject.go b/sdk/go/aws/s3/bucketObject.go index 7439cb6d553..fd5261cf89c 100644 --- a/sdk/go/aws/s3/bucketObject.go +++ b/sdk/go/aws/s3/bucketObject.go @@ -182,12 +182,8 @@ type BucketObject struct { // Default is `false`. This value should be set to `true` only if the bucket has S3 object lock enabled. ForceDestroy pulumi.BoolPtrOutput `pulumi:"forceDestroy"` // The name of the object once it is in the bucket. - Key pulumi.StringOutput `pulumi:"key"` - // Specifies the AWS KMS Key ARN to use for object encryption. - // This value is a fully qualified **ARN** of the KMS Key. If using `kms.Key`, - // use the exported `arn` attribute: - // `kmsKeyId = "${aws_kms_key.foo.arn}"` - KmsKeyId pulumi.StringPtrOutput `pulumi:"kmsKeyId"` + Key pulumi.StringOutput `pulumi:"key"` + KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"` // A 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). Metadata pulumi.StringMapOutput `pulumi:"metadata"` // The [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`. @@ -268,11 +264,7 @@ type bucketObjectState struct { // Default is `false`. This value should be set to `true` only if the bucket has S3 object lock enabled. ForceDestroy *bool `pulumi:"forceDestroy"` // The name of the object once it is in the bucket. - Key *string `pulumi:"key"` - // Specifies the AWS KMS Key ARN to use for object encryption. - // This value is a fully qualified **ARN** of the KMS Key. If using `kms.Key`, - // use the exported `arn` attribute: - // `kmsKeyId = "${aws_kms_key.foo.arn}"` + Key *string `pulumi:"key"` KmsKeyId *string `pulumi:"kmsKeyId"` // A 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). Metadata map[string]string `pulumi:"metadata"` @@ -324,11 +316,7 @@ type BucketObjectState struct { // Default is `false`. This value should be set to `true` only if the bucket has S3 object lock enabled. ForceDestroy pulumi.BoolPtrInput // The name of the object once it is in the bucket. - Key pulumi.StringPtrInput - // Specifies the AWS KMS Key ARN to use for object encryption. - // This value is a fully qualified **ARN** of the KMS Key. If using `kms.Key`, - // use the exported `arn` attribute: - // `kmsKeyId = "${aws_kms_key.foo.arn}"` + Key pulumi.StringPtrInput KmsKeyId pulumi.StringPtrInput // A 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). Metadata pulumi.StringMapInput @@ -384,11 +372,7 @@ type bucketObjectArgs struct { // Default is `false`. This value should be set to `true` only if the bucket has S3 object lock enabled. ForceDestroy *bool `pulumi:"forceDestroy"` // The name of the object once it is in the bucket. - Key *string `pulumi:"key"` - // Specifies the AWS KMS Key ARN to use for object encryption. - // This value is a fully qualified **ARN** of the KMS Key. If using `kms.Key`, - // use the exported `arn` attribute: - // `kmsKeyId = "${aws_kms_key.foo.arn}"` + Key *string `pulumi:"key"` KmsKeyId *string `pulumi:"kmsKeyId"` // A 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). Metadata map[string]string `pulumi:"metadata"` @@ -438,11 +422,7 @@ type BucketObjectArgs struct { // Default is `false`. This value should be set to `true` only if the bucket has S3 object lock enabled. ForceDestroy pulumi.BoolPtrInput // The name of the object once it is in the bucket. - Key pulumi.StringPtrInput - // Specifies the AWS KMS Key ARN to use for object encryption. - // This value is a fully qualified **ARN** of the KMS Key. If using `kms.Key`, - // use the exported `arn` attribute: - // `kmsKeyId = "${aws_kms_key.foo.arn}"` + Key pulumi.StringPtrInput KmsKeyId pulumi.StringPtrInput // A 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). Metadata pulumi.StringMapInput diff --git a/sdk/go/aws/s3/bucketOwnershipControls.go b/sdk/go/aws/s3/bucketOwnershipControls.go new file mode 100644 index 00000000000..82af7cdc4f4 --- /dev/null +++ b/sdk/go/aws/s3/bucketOwnershipControls.go @@ -0,0 +1,90 @@ +// *** 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! *** + +package s3 + +import ( + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v2/go/pulumi" +) + +type BucketOwnershipControls struct { + pulumi.CustomResourceState + + // The name of the bucket that you want to associate this access point with. + Bucket pulumi.StringOutput `pulumi:"bucket"` + // Configuration block(s) with Ownership Controls rules. Detailed below. + Rule BucketOwnershipControlsRuleOutput `pulumi:"rule"` +} + +// NewBucketOwnershipControls registers a new resource with the given unique name, arguments, and options. +func NewBucketOwnershipControls(ctx *pulumi.Context, + name string, args *BucketOwnershipControlsArgs, opts ...pulumi.ResourceOption) (*BucketOwnershipControls, error) { + if args == nil || args.Bucket == nil { + return nil, errors.New("missing required argument 'Bucket'") + } + if args == nil || args.Rule == nil { + return nil, errors.New("missing required argument 'Rule'") + } + if args == nil { + args = &BucketOwnershipControlsArgs{} + } + var resource BucketOwnershipControls + err := ctx.RegisterResource("aws:s3/bucketOwnershipControls:BucketOwnershipControls", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetBucketOwnershipControls gets an existing BucketOwnershipControls 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 GetBucketOwnershipControls(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *BucketOwnershipControlsState, opts ...pulumi.ResourceOption) (*BucketOwnershipControls, error) { + var resource BucketOwnershipControls + err := ctx.ReadResource("aws:s3/bucketOwnershipControls:BucketOwnershipControls", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering BucketOwnershipControls resources. +type bucketOwnershipControlsState struct { + // The name of the bucket that you want to associate this access point with. + Bucket *string `pulumi:"bucket"` + // Configuration block(s) with Ownership Controls rules. Detailed below. + Rule *BucketOwnershipControlsRule `pulumi:"rule"` +} + +type BucketOwnershipControlsState struct { + // The name of the bucket that you want to associate this access point with. + Bucket pulumi.StringPtrInput + // Configuration block(s) with Ownership Controls rules. Detailed below. + Rule BucketOwnershipControlsRulePtrInput +} + +func (BucketOwnershipControlsState) ElementType() reflect.Type { + return reflect.TypeOf((*bucketOwnershipControlsState)(nil)).Elem() +} + +type bucketOwnershipControlsArgs struct { + // The name of the bucket that you want to associate this access point with. + Bucket string `pulumi:"bucket"` + // Configuration block(s) with Ownership Controls rules. Detailed below. + Rule BucketOwnershipControlsRule `pulumi:"rule"` +} + +// The set of arguments for constructing a BucketOwnershipControls resource. +type BucketOwnershipControlsArgs struct { + // The name of the bucket that you want to associate this access point with. + Bucket pulumi.StringInput + // Configuration block(s) with Ownership Controls rules. Detailed below. + Rule BucketOwnershipControlsRuleInput +} + +func (BucketOwnershipControlsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*bucketOwnershipControlsArgs)(nil)).Elem() +} diff --git a/sdk/go/aws/s3/pulumiTypes.go b/sdk/go/aws/s3/pulumiTypes.go index e3dc9dfc3d3..ebba2d4dca4 100644 --- a/sdk/go/aws/s3/pulumiTypes.go +++ b/sdk/go/aws/s3/pulumiTypes.go @@ -3189,6 +3189,137 @@ func (o BucketObjectLockConfigurationRuleDefaultRetentionPtrOutput) Years() pulu }).(pulumi.IntPtrOutput) } +type BucketOwnershipControlsRule struct { + // Object ownership. Valid values: `BucketOwnerPreferred` or `ObjectWriter` + ObjectOwnership string `pulumi:"objectOwnership"` +} + +// BucketOwnershipControlsRuleInput is an input type that accepts BucketOwnershipControlsRuleArgs and BucketOwnershipControlsRuleOutput values. +// You can construct a concrete instance of `BucketOwnershipControlsRuleInput` via: +// +// BucketOwnershipControlsRuleArgs{...} +type BucketOwnershipControlsRuleInput interface { + pulumi.Input + + ToBucketOwnershipControlsRuleOutput() BucketOwnershipControlsRuleOutput + ToBucketOwnershipControlsRuleOutputWithContext(context.Context) BucketOwnershipControlsRuleOutput +} + +type BucketOwnershipControlsRuleArgs struct { + // Object ownership. Valid values: `BucketOwnerPreferred` or `ObjectWriter` + ObjectOwnership pulumi.StringInput `pulumi:"objectOwnership"` +} + +func (BucketOwnershipControlsRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*BucketOwnershipControlsRule)(nil)).Elem() +} + +func (i BucketOwnershipControlsRuleArgs) ToBucketOwnershipControlsRuleOutput() BucketOwnershipControlsRuleOutput { + return i.ToBucketOwnershipControlsRuleOutputWithContext(context.Background()) +} + +func (i BucketOwnershipControlsRuleArgs) ToBucketOwnershipControlsRuleOutputWithContext(ctx context.Context) BucketOwnershipControlsRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(BucketOwnershipControlsRuleOutput) +} + +func (i BucketOwnershipControlsRuleArgs) ToBucketOwnershipControlsRulePtrOutput() BucketOwnershipControlsRulePtrOutput { + return i.ToBucketOwnershipControlsRulePtrOutputWithContext(context.Background()) +} + +func (i BucketOwnershipControlsRuleArgs) ToBucketOwnershipControlsRulePtrOutputWithContext(ctx context.Context) BucketOwnershipControlsRulePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(BucketOwnershipControlsRuleOutput).ToBucketOwnershipControlsRulePtrOutputWithContext(ctx) +} + +// BucketOwnershipControlsRulePtrInput is an input type that accepts BucketOwnershipControlsRuleArgs, BucketOwnershipControlsRulePtr and BucketOwnershipControlsRulePtrOutput values. +// You can construct a concrete instance of `BucketOwnershipControlsRulePtrInput` via: +// +// BucketOwnershipControlsRuleArgs{...} +// +// or: +// +// nil +type BucketOwnershipControlsRulePtrInput interface { + pulumi.Input + + ToBucketOwnershipControlsRulePtrOutput() BucketOwnershipControlsRulePtrOutput + ToBucketOwnershipControlsRulePtrOutputWithContext(context.Context) BucketOwnershipControlsRulePtrOutput +} + +type bucketOwnershipControlsRulePtrType BucketOwnershipControlsRuleArgs + +func BucketOwnershipControlsRulePtr(v *BucketOwnershipControlsRuleArgs) BucketOwnershipControlsRulePtrInput { + return (*bucketOwnershipControlsRulePtrType)(v) +} + +func (*bucketOwnershipControlsRulePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**BucketOwnershipControlsRule)(nil)).Elem() +} + +func (i *bucketOwnershipControlsRulePtrType) ToBucketOwnershipControlsRulePtrOutput() BucketOwnershipControlsRulePtrOutput { + return i.ToBucketOwnershipControlsRulePtrOutputWithContext(context.Background()) +} + +func (i *bucketOwnershipControlsRulePtrType) ToBucketOwnershipControlsRulePtrOutputWithContext(ctx context.Context) BucketOwnershipControlsRulePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(BucketOwnershipControlsRulePtrOutput) +} + +type BucketOwnershipControlsRuleOutput struct{ *pulumi.OutputState } + +func (BucketOwnershipControlsRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*BucketOwnershipControlsRule)(nil)).Elem() +} + +func (o BucketOwnershipControlsRuleOutput) ToBucketOwnershipControlsRuleOutput() BucketOwnershipControlsRuleOutput { + return o +} + +func (o BucketOwnershipControlsRuleOutput) ToBucketOwnershipControlsRuleOutputWithContext(ctx context.Context) BucketOwnershipControlsRuleOutput { + return o +} + +func (o BucketOwnershipControlsRuleOutput) ToBucketOwnershipControlsRulePtrOutput() BucketOwnershipControlsRulePtrOutput { + return o.ToBucketOwnershipControlsRulePtrOutputWithContext(context.Background()) +} + +func (o BucketOwnershipControlsRuleOutput) ToBucketOwnershipControlsRulePtrOutputWithContext(ctx context.Context) BucketOwnershipControlsRulePtrOutput { + return o.ApplyT(func(v BucketOwnershipControlsRule) *BucketOwnershipControlsRule { + return &v + }).(BucketOwnershipControlsRulePtrOutput) +} + +// Object ownership. Valid values: `BucketOwnerPreferred` or `ObjectWriter` +func (o BucketOwnershipControlsRuleOutput) ObjectOwnership() pulumi.StringOutput { + return o.ApplyT(func(v BucketOwnershipControlsRule) string { return v.ObjectOwnership }).(pulumi.StringOutput) +} + +type BucketOwnershipControlsRulePtrOutput struct{ *pulumi.OutputState } + +func (BucketOwnershipControlsRulePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**BucketOwnershipControlsRule)(nil)).Elem() +} + +func (o BucketOwnershipControlsRulePtrOutput) ToBucketOwnershipControlsRulePtrOutput() BucketOwnershipControlsRulePtrOutput { + return o +} + +func (o BucketOwnershipControlsRulePtrOutput) ToBucketOwnershipControlsRulePtrOutputWithContext(ctx context.Context) BucketOwnershipControlsRulePtrOutput { + return o +} + +func (o BucketOwnershipControlsRulePtrOutput) Elem() BucketOwnershipControlsRuleOutput { + return o.ApplyT(func(v *BucketOwnershipControlsRule) BucketOwnershipControlsRule { return *v }).(BucketOwnershipControlsRuleOutput) +} + +// Object ownership. Valid values: `BucketOwnerPreferred` or `ObjectWriter` +func (o BucketOwnershipControlsRulePtrOutput) ObjectOwnership() pulumi.StringPtrOutput { + return o.ApplyT(func(v *BucketOwnershipControlsRule) *string { + if v == nil { + return nil + } + return &v.ObjectOwnership + }).(pulumi.StringPtrOutput) +} + type BucketReplicationConfiguration struct { // The ARN of the IAM role for Amazon S3 to assume when replicating the objects. Role string `pulumi:"role"` @@ -5960,6 +6091,8 @@ func init() { pulumi.RegisterOutputType(BucketObjectLockConfigurationRulePtrOutput{}) pulumi.RegisterOutputType(BucketObjectLockConfigurationRuleDefaultRetentionOutput{}) pulumi.RegisterOutputType(BucketObjectLockConfigurationRuleDefaultRetentionPtrOutput{}) + pulumi.RegisterOutputType(BucketOwnershipControlsRuleOutput{}) + pulumi.RegisterOutputType(BucketOwnershipControlsRulePtrOutput{}) pulumi.RegisterOutputType(BucketReplicationConfigurationOutput{}) pulumi.RegisterOutputType(BucketReplicationConfigurationPtrOutput{}) pulumi.RegisterOutputType(BucketReplicationConfigurationRuleOutput{}) diff --git a/sdk/go/aws/sns/getTopic.go b/sdk/go/aws/sns/getTopic.go index cbb71dc7b0b..34230d114dd 100644 --- a/sdk/go/aws/sns/getTopic.go +++ b/sdk/go/aws/sns/getTopic.go @@ -50,7 +50,7 @@ type LookupTopicArgs struct { // A collection of values returned by getTopic. type LookupTopicResult struct { - // Set to the ARN of the found topic, suitable for referencing in other resources that support SNS topics. + // Amazon Resource Name (ARN) of the found topic, suitable for referencing in other resources that support SNS topics. Arn string `pulumi:"arn"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` diff --git a/sdk/nodejs/acm/getCertificate.ts b/sdk/nodejs/acm/getCertificate.ts index 84beed00978..521c29b5970 100644 --- a/sdk/nodejs/acm/getCertificate.ts +++ b/sdk/nodejs/acm/getCertificate.ts @@ -91,7 +91,7 @@ export interface GetCertificateArgs { */ export interface GetCertificateResult { /** - * Set to the ARN of the found certificate, suitable for referencing in other resources that support ACM certificates. + * Amazon Resource Name (ARN) of the found certificate, suitable for referencing in other resources that support ACM certificates. */ readonly arn: string; readonly domain: string; diff --git a/sdk/nodejs/alb/loadBalancer.ts b/sdk/nodejs/alb/loadBalancer.ts index e3d8d41aaae..5314d1f6b03 100644 --- a/sdk/nodejs/alb/loadBalancer.ts +++ b/sdk/nodejs/alb/loadBalancer.ts @@ -25,7 +25,7 @@ import {IpAddressType, LoadBalancerType} from "./index"; * internal: false, * loadBalancerType: "application", * securityGroups: [aws_security_group.lb_sg.id], - * subnets: [aws_subnet["public"].map(__item => __item.id)], + * subnets: aws_subnet["public"].map(__item => __item.id), * enableDeletionProtection: true, * accessLogs: { * bucket: aws_s3_bucket.lb_logs.bucket, @@ -46,7 +46,7 @@ import {IpAddressType, LoadBalancerType} from "./index"; * const test = new aws.lb.LoadBalancer("test", { * internal: false, * loadBalancerType: "network", - * subnets: [aws_subnet["public"].map(__item => __item.id)], + * subnets: aws_subnet["public"].map(__item => __item.id), * enableDeletionProtection: true, * tags: { * Environment: "production", diff --git a/sdk/nodejs/alb/targetGroup.ts b/sdk/nodejs/alb/targetGroup.ts index 52b0d8795ba..9b0ed133d78 100644 --- a/sdk/nodejs/alb/targetGroup.ts +++ b/sdk/nodejs/alb/targetGroup.ts @@ -128,7 +128,7 @@ export class TargetGroup extends pulumi.CustomResource { */ public readonly slowStart!: pulumi.Output; /** - * A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + * A Stickiness block. Stickiness blocks are documented below. */ public readonly stickiness!: pulumi.Output; /** @@ -262,7 +262,7 @@ export interface TargetGroupState { */ readonly slowStart?: pulumi.Input; /** - * A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + * A Stickiness block. Stickiness blocks are documented below. */ readonly stickiness?: pulumi.Input; /** @@ -329,7 +329,7 @@ export interface TargetGroupArgs { */ readonly slowStart?: pulumi.Input; /** - * A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + * A Stickiness block. Stickiness blocks are documented below. */ readonly stickiness?: pulumi.Input; /** diff --git a/sdk/nodejs/apigateway/usagePlan.ts b/sdk/nodejs/apigateway/usagePlan.ts index c47599c9032..f9f143a25d1 100644 --- a/sdk/nodejs/apigateway/usagePlan.ts +++ b/sdk/nodejs/apigateway/usagePlan.ts @@ -96,7 +96,7 @@ export class UsagePlan extends pulumi.CustomResource { */ public readonly name!: pulumi.Output; /** - * The AWS Markeplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace. + * The AWS Marketplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace. */ public readonly productCode!: pulumi.Output; /** @@ -175,7 +175,7 @@ export interface UsagePlanState { */ readonly name?: pulumi.Input; /** - * The AWS Markeplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace. + * The AWS Marketplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace. */ readonly productCode?: pulumi.Input; /** @@ -209,7 +209,7 @@ export interface UsagePlanArgs { */ readonly name?: pulumi.Input; /** - * The AWS Markeplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace. + * The AWS Marketplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace. */ readonly productCode?: pulumi.Input; /** diff --git a/sdk/nodejs/applicationloadbalancing/loadBalancer.ts b/sdk/nodejs/applicationloadbalancing/loadBalancer.ts index f00267cd148..d804a166fb3 100644 --- a/sdk/nodejs/applicationloadbalancing/loadBalancer.ts +++ b/sdk/nodejs/applicationloadbalancing/loadBalancer.ts @@ -25,7 +25,7 @@ import {IpAddressType, LoadBalancerType} from "../alb"; * internal: false, * loadBalancerType: "application", * securityGroups: [aws_security_group.lb_sg.id], - * subnets: [aws_subnet["public"].map(__item => __item.id)], + * subnets: aws_subnet["public"].map(__item => __item.id), * enableDeletionProtection: true, * accessLogs: { * bucket: aws_s3_bucket.lb_logs.bucket, @@ -46,7 +46,7 @@ import {IpAddressType, LoadBalancerType} from "../alb"; * const test = new aws.lb.LoadBalancer("test", { * internal: false, * loadBalancerType: "network", - * subnets: [aws_subnet["public"].map(__item => __item.id)], + * subnets: aws_subnet["public"].map(__item => __item.id), * enableDeletionProtection: true, * tags: { * Environment: "production", diff --git a/sdk/nodejs/applicationloadbalancing/targetGroup.ts b/sdk/nodejs/applicationloadbalancing/targetGroup.ts index bbd765a0b99..bcccc7a626c 100644 --- a/sdk/nodejs/applicationloadbalancing/targetGroup.ts +++ b/sdk/nodejs/applicationloadbalancing/targetGroup.ts @@ -131,7 +131,7 @@ export class TargetGroup extends pulumi.CustomResource { */ public readonly slowStart!: pulumi.Output; /** - * A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + * A Stickiness block. Stickiness blocks are documented below. */ public readonly stickiness!: pulumi.Output; /** @@ -266,7 +266,7 @@ export interface TargetGroupState { */ readonly slowStart?: pulumi.Input; /** - * A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + * A Stickiness block. Stickiness blocks are documented below. */ readonly stickiness?: pulumi.Input; /** @@ -333,7 +333,7 @@ export interface TargetGroupArgs { */ readonly slowStart?: pulumi.Input; /** - * A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + * A Stickiness block. Stickiness blocks are documented below. */ readonly stickiness?: pulumi.Input; /** diff --git a/sdk/nodejs/autoscaling/attachment.ts b/sdk/nodejs/autoscaling/attachment.ts index f2e2cce1642..f59485a1787 100644 --- a/sdk/nodejs/autoscaling/attachment.ts +++ b/sdk/nodejs/autoscaling/attachment.ts @@ -5,15 +5,15 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; /** - * Provides an AutoScaling Attachment resource. + * Provides an Auto Scaling Attachment resource. * - * > **NOTE on AutoScaling Groups and ASG Attachments:** This provider currently provides - * both a standalone ASG Attachment resource (describing an ASG attached to - * an ELB or ALB), and an AutoScaling Group resource with - * `loadBalancers` and `targetGroupArns` defined in-line. At this time you can use an ASG with in-line - * `load balancers` or `targetGroupArns` in conjunction with an ASG Attachment resource, however, to prevent - * unintended resource updates, the `aws.autoscaling.Group` resource must be configured - * to ignore changes to the `loadBalancers` and `targetGroupArns` arguments within a [`lifecycle` configuration block](https://www.terraform.io/docs/configuration/resources.html#lifecycle-lifecycle-customizations). + * > **NOTE on Auto Scaling Groups and ASG Attachments:** This provider currently provides + * both a standalone `aws.autoscaling.Attachment` resource + * (describing an ASG attached to an ELB or ALB), and an `aws.autoscaling.Group` + * with `loadBalancers` and `targetGroupArns` defined in-line. These two methods are not + * mutually-exclusive. If `aws.autoscaling.Attachment` resources are used, either alone or with inline + * `loadBalancers` or `targetGroupArns`, the `aws.autoscaling.Group` resource must be configured + * to [ignore changes](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) to the `loadBalancers` and `targetGroupArns` arguments. * * ## Example Usage * diff --git a/sdk/nodejs/autoscaling/getGroup.ts b/sdk/nodejs/autoscaling/getGroup.ts index d4cf3983a11..cfbfe31f474 100644 --- a/sdk/nodejs/autoscaling/getGroup.ts +++ b/sdk/nodejs/autoscaling/getGroup.ts @@ -90,7 +90,7 @@ export interface GetGroupResult { */ readonly minSize: number; /** - * The name of the Auto Scaling group. + * Name of the Auto Scaling Group. */ readonly name: string; readonly newInstancesProtectedFromScaleIn: boolean; diff --git a/sdk/nodejs/autoscaling/group.ts b/sdk/nodejs/autoscaling/group.ts index cf0bd292fc9..e7b713dd543 100644 --- a/sdk/nodejs/autoscaling/group.ts +++ b/sdk/nodejs/autoscaling/group.ts @@ -10,131 +10,6 @@ import * as utilities from "../utilities"; import {LaunchConfiguration, PlacementGroup} from "../ec2"; import {Metric, MetricsGranularity} from "./index"; -/** - * Provides an AutoScaling Group resource. - * - * > **Note:** You must specify either `launchConfiguration`, `launchTemplate`, or `mixedInstancesPolicy`. - * - * ## Example Usage - * ### With Latest Version Of Launch Template - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as aws from "@pulumi/aws"; - * - * const foobar = new aws.ec2.LaunchTemplate("foobar", { - * namePrefix: "foobar", - * imageId: "ami-1a2b3c", - * instanceType: "t2.micro", - * }); - * const bar = new aws.autoscaling.Group("bar", { - * availabilityZones: ["us-east-1a"], - * desiredCapacity: 1, - * maxSize: 1, - * minSize: 1, - * launchTemplate: { - * id: foobar.id, - * version: `$Latest`, - * }, - * }); - * ``` - * ### Mixed Instances Policy - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as aws from "@pulumi/aws"; - * - * const exampleLaunchTemplate = new aws.ec2.LaunchTemplate("exampleLaunchTemplate", { - * namePrefix: "example", - * imageId: data.aws_ami.example.id, - * instanceType: "c5.large", - * }); - * const exampleGroup = new aws.autoscaling.Group("exampleGroup", { - * availabilityZones: ["us-east-1a"], - * desiredCapacity: 1, - * maxSize: 1, - * minSize: 1, - * mixedInstancesPolicy: { - * launchTemplate: { - * launchTemplateSpecification: { - * launchTemplateId: exampleLaunchTemplate.id, - * }, - * overrides: [ - * { - * instanceType: "c4.large", - * weightedCapacity: "3", - * }, - * { - * instanceType: "c3.large", - * weightedCapacity: "2", - * }, - * ], - * }, - * }, - * }); - * ``` - * ## Waiting for Capacity - * - * A newly-created ASG is initially empty and begins to scale to `minSize` (or - * `desiredCapacity`, if specified) by launching instances using the provided - * Launch Configuration. These instances take time to launch and boot. - * - * On ASG Update, changes to these values also take time to result in the target - * number of instances providing service. - * - * This provider provides two mechanisms to help consistently manage ASG scale up - * time across dependent resources. - * - * #### Waiting for ASG Capacity - * - * The first is default behavior. This provider waits after ASG creation for - * `minSize` (or `desiredCapacity`, if specified) healthy instances to show up - * in the ASG before continuing. - * - * If `minSize` or `desiredCapacity` are changed in a subsequent update, - * this provider will also wait for the correct number of healthy instances before - * continuing. - * - * This provider considers an instance "healthy" when the ASG reports `HealthStatus: - * "Healthy"` and `LifecycleState: "InService"`. See the [AWS AutoScaling - * Docs](https://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingGroupLifecycle.html) - * for more information on an ASG's lifecycle. - * - * This provider will wait for healthy instances for up to - * `waitForCapacityTimeout`. If ASG creation is taking more than a few minutes, - * it's worth investigating for scaling activity errors, which can be caused by - * problems with the selected Launch Configuration. - * - * Setting `waitForCapacityTimeout` to `"0"` disables ASG Capacity waiting. - * - * #### Waiting for ELB Capacity - * - * The second mechanism is optional, and affects ASGs with attached ELBs specified - * via the `loadBalancers` attribute or with ALBs specified with `targetGroupArns`. - * - * The `minElbCapacity` parameter causes this provider to wait for at least the - * requested number of instances to show up `"InService"` in all attached ELBs - * during ASG creation. It has no effect on ASG updates. - * - * If `waitForElbCapacity` is set, this provider will wait for exactly that number - * of Instances to be `"InService"` in all attached ELBs on both creation and - * updates. - * - * These parameters can be used to ensure that service is being provided before - * this provider moves on. If new instances don't pass the ELB's health checks for any - * reason, the deployment will time out, and the ASG will be marked as - * tainted (i.e. marked to be destroyed in a follow up run). - * - * As with ASG Capacity, this provider will wait for up to `waitForCapacityTimeout` - * for the proper number of instances to be healthy. - * - * #### Troubleshooting Capacity Waiting Timeouts - * - * If ASG creation takes more than a few minutes, this could indicate one of a - * number of configuration problems. See the [AWS Docs on Load Balancer - * Troubleshooting](https://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elb-troubleshooting.html) - * for more information. - */ export class Group extends pulumi.CustomResource { /** * Get an existing Group resource's state with the given name, ID, and optional extra diff --git a/sdk/nodejs/batch/computeEnvironment.ts b/sdk/nodejs/batch/computeEnvironment.ts index 116a2b24e35..4f4157d6ae0 100644 --- a/sdk/nodejs/batch/computeEnvironment.ts +++ b/sdk/nodejs/batch/computeEnvironment.ts @@ -153,6 +153,10 @@ export class ComputeEnvironment extends pulumi.CustomResource { * A short, human-readable string to provide additional details about the current status of the compute environment. */ public /*out*/ readonly statusReason!: pulumi.Output; + /** + * Key-value pair tags to be applied to resources that are launched in the compute environment. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; /** * The type of compute environment. Valid items are `EC2` or `SPOT`. */ @@ -179,6 +183,7 @@ export class ComputeEnvironment extends pulumi.CustomResource { inputs["state"] = state ? state.state : undefined; inputs["status"] = state ? state.status : undefined; inputs["statusReason"] = state ? state.statusReason : undefined; + inputs["tags"] = state ? state.tags : undefined; inputs["type"] = state ? state.type : undefined; } else { const args = argsOrState as ComputeEnvironmentArgs | undefined; @@ -193,6 +198,7 @@ export class ComputeEnvironment extends pulumi.CustomResource { inputs["computeResources"] = args ? args.computeResources : undefined; inputs["serviceRole"] = args ? args.serviceRole : undefined; inputs["state"] = args ? args.state : undefined; + inputs["tags"] = args ? args.tags : undefined; inputs["type"] = args ? args.type : undefined; inputs["arn"] = undefined /*out*/; inputs["ecsClusterArn"] = undefined /*out*/; @@ -250,6 +256,10 @@ export interface ComputeEnvironmentState { * A short, human-readable string to provide additional details about the current status of the compute environment. */ readonly statusReason?: pulumi.Input; + /** + * Key-value pair tags to be applied to resources that are launched in the compute environment. + */ + readonly tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * The type of compute environment. Valid items are `EC2` or `SPOT`. */ @@ -280,6 +290,10 @@ export interface ComputeEnvironmentArgs { * The state of the compute environment. If the state is `ENABLED`, then the compute environment accepts jobs from a queue and can scale out automatically based on queues. Valid items are `ENABLED` or `DISABLED`. Defaults to `ENABLED`. */ readonly state?: pulumi.Input; + /** + * Key-value pair tags to be applied to resources that are launched in the compute environment. + */ + readonly tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * The type of compute environment. Valid items are `EC2` or `SPOT`. */ diff --git a/sdk/nodejs/batch/getComputeEnvironment.ts b/sdk/nodejs/batch/getComputeEnvironment.ts index ae74bdf44b5..1e1570f5dd8 100644 --- a/sdk/nodejs/batch/getComputeEnvironment.ts +++ b/sdk/nodejs/batch/getComputeEnvironment.ts @@ -32,6 +32,7 @@ export function getComputeEnvironment(args: GetComputeEnvironmentArgs, opts?: pu } return pulumi.runtime.invoke("aws:batch/getComputeEnvironment:getComputeEnvironment", { "computeEnvironmentName": args.computeEnvironmentName, + "tags": args.tags, }, opts); } @@ -43,6 +44,10 @@ export interface GetComputeEnvironmentArgs { * The name of the Batch Compute Environment */ readonly computeEnvironmentName: string; + /** + * Key-value map of resource tags + */ + readonly tags?: {[key: string]: string}; } /** @@ -78,6 +83,10 @@ export interface GetComputeEnvironmentResult { * A short, human-readable string to provide additional details about the current status of the compute environment. */ readonly statusReason: string; + /** + * Key-value map of resource tags + */ + readonly tags: {[key: string]: string}; /** * The type of the compute environment (for example, `MANAGED` or `UNMANAGED`). */ diff --git a/sdk/nodejs/batch/getJobQueue.ts b/sdk/nodejs/batch/getJobQueue.ts index 41294b786b8..6ce148e1b1c 100644 --- a/sdk/nodejs/batch/getJobQueue.ts +++ b/sdk/nodejs/batch/getJobQueue.ts @@ -32,6 +32,7 @@ export function getJobQueue(args: GetJobQueueArgs, opts?: pulumi.InvokeOptions): } return pulumi.runtime.invoke("aws:batch/getJobQueue:getJobQueue", { "name": args.name, + "tags": args.tags, }, opts); } @@ -43,6 +44,10 @@ export interface GetJobQueueArgs { * The name of the job queue. */ readonly name: string; + /** + * Key-value map of resource tags + */ + readonly tags?: {[key: string]: string}; } /** @@ -83,4 +88,8 @@ export interface GetJobQueueResult { * of the job queue. */ readonly statusReason: string; + /** + * Key-value map of resource tags + */ + readonly tags: {[key: string]: string}; } diff --git a/sdk/nodejs/batch/jobDefinition.ts b/sdk/nodejs/batch/jobDefinition.ts index c3b70bc98b6..62988da5d6a 100644 --- a/sdk/nodejs/batch/jobDefinition.ts +++ b/sdk/nodejs/batch/jobDefinition.ts @@ -107,6 +107,10 @@ export class JobDefinition extends pulumi.CustomResource { * The revision of the job definition. */ public /*out*/ readonly revision!: pulumi.Output; + /** + * Key-value map of resource tags + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; /** * Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. */ @@ -134,6 +138,7 @@ export class JobDefinition extends pulumi.CustomResource { inputs["parameters"] = state ? state.parameters : undefined; inputs["retryStrategy"] = state ? state.retryStrategy : undefined; inputs["revision"] = state ? state.revision : undefined; + inputs["tags"] = state ? state.tags : undefined; inputs["timeout"] = state ? state.timeout : undefined; inputs["type"] = state ? state.type : undefined; } else { @@ -145,6 +150,7 @@ export class JobDefinition extends pulumi.CustomResource { inputs["name"] = args ? args.name : undefined; inputs["parameters"] = args ? args.parameters : undefined; inputs["retryStrategy"] = args ? args.retryStrategy : undefined; + inputs["tags"] = args ? args.tags : undefined; inputs["timeout"] = args ? args.timeout : undefined; inputs["type"] = args ? args.type : undefined; inputs["arn"] = undefined /*out*/; @@ -191,6 +197,10 @@ export interface JobDefinitionState { * The revision of the job definition. */ readonly revision?: pulumi.Input; + /** + * Key-value map of resource tags + */ + readonly tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. */ @@ -223,6 +233,10 @@ export interface JobDefinitionArgs { * Maximum number of `retryStrategy` is `1`. Defined below. */ readonly retryStrategy?: pulumi.Input; + /** + * Key-value map of resource tags + */ + readonly tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. */ diff --git a/sdk/nodejs/batch/jobQueue.ts b/sdk/nodejs/batch/jobQueue.ts index bd9c5f5249d..97ba0712d25 100644 --- a/sdk/nodejs/batch/jobQueue.ts +++ b/sdk/nodejs/batch/jobQueue.ts @@ -75,6 +75,10 @@ export class JobQueue extends pulumi.CustomResource { * The state of the job queue. Must be one of: `ENABLED` or `DISABLED` */ public readonly state!: pulumi.Output; + /** + * Key-value map of resource tags + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; /** * Create a JobQueue resource with the given unique name, arguments, and options. @@ -93,6 +97,7 @@ export class JobQueue extends pulumi.CustomResource { inputs["name"] = state ? state.name : undefined; inputs["priority"] = state ? state.priority : undefined; inputs["state"] = state ? state.state : undefined; + inputs["tags"] = state ? state.tags : undefined; } else { const args = argsOrState as JobQueueArgs | undefined; if (!args || args.computeEnvironments === undefined) { @@ -108,6 +113,7 @@ export class JobQueue extends pulumi.CustomResource { inputs["name"] = args ? args.name : undefined; inputs["priority"] = args ? args.priority : undefined; inputs["state"] = args ? args.state : undefined; + inputs["tags"] = args ? args.tags : undefined; inputs["arn"] = undefined /*out*/; } if (!opts) { @@ -149,6 +155,10 @@ export interface JobQueueState { * The state of the job queue. Must be one of: `ENABLED` or `DISABLED` */ readonly state?: pulumi.Input; + /** + * Key-value map of resource tags + */ + readonly tags?: pulumi.Input<{[key: string]: pulumi.Input}>; } /** @@ -175,4 +185,8 @@ export interface JobQueueArgs { * The state of the job queue. Must be one of: `ENABLED` or `DISABLED` */ readonly state: pulumi.Input; + /** + * Key-value map of resource tags + */ + readonly tags?: pulumi.Input<{[key: string]: pulumi.Input}>; } diff --git a/sdk/nodejs/cloudfront/distribution.ts b/sdk/nodejs/cloudfront/distribution.ts index 944003983d8..61b74ce8052 100644 --- a/sdk/nodejs/cloudfront/distribution.ts +++ b/sdk/nodejs/cloudfront/distribution.ts @@ -371,11 +371,13 @@ export class Distribution extends pulumi.CustomResource { */ public readonly waitForDeployment!: pulumi.Output; /** - * If you're using AWS WAF to filter CloudFront - * requests, the Id of the AWS WAF web ACL that is associated with the - * distribution. The WAF Web ACL must exist in the WAF Global (CloudFront) - * region and the credentials configuring this argument must have - * `waf:GetWebACL` permissions assigned. If using WAFv2, provide the ARN of the web ACL. + * A unique identifier that specifies the AWS WAF web ACL, + * if any, to associate with this distribution. + * To specify a web ACL created using the latest version of AWS WAF (WAFv2), use the ACL ARN, + * for example `aws_wafv2_web_acl.example.arn`. To specify a web + * ACL created using AWS WAF Classic, use the ACL ID, for example `aws_waf_web_acl.example.id`. + * The WAF Web ACL must exist in the WAF Global (CloudFront) region and the + * credentials configuring this argument must have `waf:GetWebACL` permissions assigned. */ public readonly webAclId!: pulumi.Output; @@ -619,11 +621,13 @@ export interface DistributionState { */ readonly waitForDeployment?: pulumi.Input; /** - * If you're using AWS WAF to filter CloudFront - * requests, the Id of the AWS WAF web ACL that is associated with the - * distribution. The WAF Web ACL must exist in the WAF Global (CloudFront) - * region and the credentials configuring this argument must have - * `waf:GetWebACL` permissions assigned. If using WAFv2, provide the ARN of the web ACL. + * A unique identifier that specifies the AWS WAF web ACL, + * if any, to associate with this distribution. + * To specify a web ACL created using the latest version of AWS WAF (WAFv2), use the ACL ARN, + * for example `aws_wafv2_web_acl.example.arn`. To specify a web + * ACL created using AWS WAF Classic, use the ACL ID, for example `aws_waf_web_acl.example.id`. + * The WAF Web ACL must exist in the WAF Global (CloudFront) region and the + * credentials configuring this argument must have `waf:GetWebACL` permissions assigned. */ readonly webAclId?: pulumi.Input; } @@ -726,11 +730,13 @@ export interface DistributionArgs { */ readonly waitForDeployment?: pulumi.Input; /** - * If you're using AWS WAF to filter CloudFront - * requests, the Id of the AWS WAF web ACL that is associated with the - * distribution. The WAF Web ACL must exist in the WAF Global (CloudFront) - * region and the credentials configuring this argument must have - * `waf:GetWebACL` permissions assigned. If using WAFv2, provide the ARN of the web ACL. + * A unique identifier that specifies the AWS WAF web ACL, + * if any, to associate with this distribution. + * To specify a web ACL created using the latest version of AWS WAF (WAFv2), use the ACL ARN, + * for example `aws_wafv2_web_acl.example.arn`. To specify a web + * ACL created using AWS WAF Classic, use the ACL ID, for example `aws_waf_web_acl.example.id`. + * The WAF Web ACL must exist in the WAF Global (CloudFront) region and the + * credentials configuring this argument must have `waf:GetWebACL` permissions assigned. */ readonly webAclId?: pulumi.Input; } diff --git a/sdk/nodejs/codeartifact/getAuthorizationToken.ts b/sdk/nodejs/codeartifact/getAuthorizationToken.ts new file mode 100644 index 00000000000..5278b58b254 --- /dev/null +++ b/sdk/nodejs/codeartifact/getAuthorizationToken.ts @@ -0,0 +1,76 @@ +// *** 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 CodeArtifact Authorization Token data source generates a temporary authentication token for accessing repositories in a CodeArtifact domain. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const test = aws.codeartifact.getAuthorizationToken({ + * domain: aws_codeartifact_domain.test.domain, + * }); + * ``` + */ +export function getAuthorizationToken(args: GetAuthorizationTokenArgs, opts?: pulumi.InvokeOptions): Promise { + if (!opts) { + opts = {} + } + + if (!opts.version) { + opts.version = utilities.getVersion(); + } + return pulumi.runtime.invoke("aws:codeartifact/getAuthorizationToken:getAuthorizationToken", { + "domain": args.domain, + "domainOwner": args.domainOwner, + "durationSeconds": args.durationSeconds, + }, opts); +} + +/** + * A collection of arguments for invoking getAuthorizationToken. + */ +export interface GetAuthorizationTokenArgs { + /** + * The name of the domain that is in scope for the generated authorization token. + */ + readonly domain: string; + /** + * The account number of the AWS account that owns the domain. + */ + readonly domainOwner?: string; + /** + * The time, in seconds, that the generated authorization token is valid. Valid values are `0` and between `900` and `43200`. + */ + readonly durationSeconds?: number; +} + +/** + * A collection of values returned by getAuthorizationToken. + */ +export interface GetAuthorizationTokenResult { + /** + * Temporary authorization token. + */ + readonly authorizationToken: string; + readonly domain: string; + readonly domainOwner: string; + readonly durationSeconds?: number; + /** + * The time in UTC RFC3339 format when the authorization token expires. + */ + readonly expiration: string; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; +} diff --git a/sdk/nodejs/codeartifact/index.ts b/sdk/nodejs/codeartifact/index.ts index 55501523108..704aed06be5 100644 --- a/sdk/nodejs/codeartifact/index.ts +++ b/sdk/nodejs/codeartifact/index.ts @@ -4,4 +4,6 @@ // Export members: export * from "./domain"; export * from "./domainPermissions"; +export * from "./getAuthorizationToken"; export * from "./repository"; +export * from "./repositoryPermissionsPolicy"; diff --git a/sdk/nodejs/codeartifact/repositoryPermissionsPolicy.ts b/sdk/nodejs/codeartifact/repositoryPermissionsPolicy.ts new file mode 100644 index 00000000000..5611a55bf07 --- /dev/null +++ b/sdk/nodejs/codeartifact/repositoryPermissionsPolicy.ts @@ -0,0 +1,164 @@ +// *** 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 a CodeArtifact Repostory Permissions Policy Resource. + */ +export class RepositoryPermissionsPolicy extends pulumi.CustomResource { + /** + * Get an existing RepositoryPermissionsPolicy 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?: RepositoryPermissionsPolicyState, opts?: pulumi.CustomResourceOptions): RepositoryPermissionsPolicy { + return new RepositoryPermissionsPolicy(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:codeartifact/repositoryPermissionsPolicy:RepositoryPermissionsPolicy'; + + /** + * Returns true if the given object is an instance of RepositoryPermissionsPolicy. 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 RepositoryPermissionsPolicy { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === RepositoryPermissionsPolicy.__pulumiType; + } + + /** + * The name of the domain on which to set the resource policy. + */ + public readonly domain!: pulumi.Output; + /** + * The account number of the AWS account that owns the domain. + */ + public readonly domainOwner!: pulumi.Output; + /** + * A JSON policy string to be set as the access control resource policy on the provided domain. + */ + public readonly policyDocument!: pulumi.Output; + /** + * The current revision of the resource policy to be set. This revision is used for optimistic locking, which prevents others from overwriting your changes to the domain's resource policy. + */ + public readonly policyRevision!: pulumi.Output; + /** + * The name of the repository to set the resource policy on. + */ + public readonly repository!: pulumi.Output; + /** + * The ARN of the resource associated with the resource policy. + */ + public /*out*/ readonly resourceArn!: pulumi.Output; + + /** + * Create a RepositoryPermissionsPolicy 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: RepositoryPermissionsPolicyArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: RepositoryPermissionsPolicyArgs | RepositoryPermissionsPolicyState, opts?: pulumi.CustomResourceOptions) { + let inputs: pulumi.Inputs = {}; + if (opts && opts.id) { + const state = argsOrState as RepositoryPermissionsPolicyState | undefined; + inputs["domain"] = state ? state.domain : undefined; + inputs["domainOwner"] = state ? state.domainOwner : undefined; + inputs["policyDocument"] = state ? state.policyDocument : undefined; + inputs["policyRevision"] = state ? state.policyRevision : undefined; + inputs["repository"] = state ? state.repository : undefined; + inputs["resourceArn"] = state ? state.resourceArn : undefined; + } else { + const args = argsOrState as RepositoryPermissionsPolicyArgs | undefined; + if (!args || args.domain === undefined) { + throw new Error("Missing required property 'domain'"); + } + if (!args || args.policyDocument === undefined) { + throw new Error("Missing required property 'policyDocument'"); + } + if (!args || args.repository === undefined) { + throw new Error("Missing required property 'repository'"); + } + inputs["domain"] = args ? args.domain : undefined; + inputs["domainOwner"] = args ? args.domainOwner : undefined; + inputs["policyDocument"] = args ? args.policyDocument : undefined; + inputs["policyRevision"] = args ? args.policyRevision : undefined; + inputs["repository"] = args ? args.repository : undefined; + inputs["resourceArn"] = undefined /*out*/; + } + if (!opts) { + opts = {} + } + + if (!opts.version) { + opts.version = utilities.getVersion(); + } + super(RepositoryPermissionsPolicy.__pulumiType, name, inputs, opts); + } +} + +/** + * Input properties used for looking up and filtering RepositoryPermissionsPolicy resources. + */ +export interface RepositoryPermissionsPolicyState { + /** + * The name of the domain on which to set the resource policy. + */ + readonly domain?: pulumi.Input; + /** + * The account number of the AWS account that owns the domain. + */ + readonly domainOwner?: pulumi.Input; + /** + * A JSON policy string to be set as the access control resource policy on the provided domain. + */ + readonly policyDocument?: pulumi.Input; + /** + * The current revision of the resource policy to be set. This revision is used for optimistic locking, which prevents others from overwriting your changes to the domain's resource policy. + */ + readonly policyRevision?: pulumi.Input; + /** + * The name of the repository to set the resource policy on. + */ + readonly repository?: pulumi.Input; + /** + * The ARN of the resource associated with the resource policy. + */ + readonly resourceArn?: pulumi.Input; +} + +/** + * The set of arguments for constructing a RepositoryPermissionsPolicy resource. + */ +export interface RepositoryPermissionsPolicyArgs { + /** + * The name of the domain on which to set the resource policy. + */ + readonly domain: pulumi.Input; + /** + * The account number of the AWS account that owns the domain. + */ + readonly domainOwner?: pulumi.Input; + /** + * A JSON policy string to be set as the access control resource policy on the provided domain. + */ + readonly policyDocument: pulumi.Input; + /** + * The current revision of the resource policy to be set. This revision is used for optimistic locking, which prevents others from overwriting your changes to the domain's resource policy. + */ + readonly policyRevision?: pulumi.Input; + /** + * The name of the repository to set the resource policy on. + */ + readonly repository: pulumi.Input; +} diff --git a/sdk/nodejs/docdb/clusterInstance.ts b/sdk/nodejs/docdb/clusterInstance.ts index b5280cfaac4..318682edcb1 100644 --- a/sdk/nodejs/docdb/clusterInstance.ts +++ b/sdk/nodejs/docdb/clusterInstance.ts @@ -114,11 +114,11 @@ export class ClusterInstance extends pulumi.CustomResource { */ public /*out*/ readonly engineVersion!: pulumi.Output; /** - * The indentifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier. + * The identifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier. */ public readonly identifier!: pulumi.Output; /** - * Creates a unique identifier beginning with the specified prefix. Conflicts with `identifer`. + * Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. */ public readonly identifierPrefix!: pulumi.Output; /** @@ -295,11 +295,11 @@ export interface ClusterInstanceState { */ readonly engineVersion?: pulumi.Input; /** - * The indentifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier. + * The identifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier. */ readonly identifier?: pulumi.Input; /** - * Creates a unique identifier beginning with the specified prefix. Conflicts with `identifer`. + * Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. */ readonly identifierPrefix?: pulumi.Input; /** @@ -379,11 +379,11 @@ export interface ClusterInstanceArgs { */ readonly engine?: pulumi.Input; /** - * The indentifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier. + * The identifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier. */ readonly identifier?: pulumi.Input; /** - * Creates a unique identifier beginning with the specified prefix. Conflicts with `identifer`. + * Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. */ readonly identifierPrefix?: pulumi.Input; /** diff --git a/sdk/nodejs/ec2/getInstanceType.ts b/sdk/nodejs/ec2/getInstanceType.ts new file mode 100644 index 00000000000..d200c3ea9b6 --- /dev/null +++ b/sdk/nodejs/ec2/getInstanceType.ts @@ -0,0 +1,311 @@ +// *** 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"; + +/** + * Get characteristics for a single EC2 Instance Type. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = pulumi.output(aws.ec2.getInstanceType({ + * instanceType: "t2.micro", + * }, { async: true })); + * ``` + */ +export function getInstanceType(args: GetInstanceTypeArgs, opts?: pulumi.InvokeOptions): Promise { + if (!opts) { + opts = {} + } + + if (!opts.version) { + opts.version = utilities.getVersion(); + } + return pulumi.runtime.invoke("aws:ec2/getInstanceType:getInstanceType", { + "defaultCores": args.defaultCores, + "defaultThreadsPerCore": args.defaultThreadsPerCore, + "fpgas": args.fpgas, + "gpuses": args.gpuses, + "hypervisor": args.hypervisor, + "inferenceAccelerators": args.inferenceAccelerators, + "instanceDisks": args.instanceDisks, + "instanceType": args.instanceType, + "maximumIpv6AddressesPerInterface": args.maximumIpv6AddressesPerInterface, + "totalFpgaMemory": args.totalFpgaMemory, + "totalGpuMemory": args.totalGpuMemory, + "totalInstanceStorage": args.totalInstanceStorage, + }, opts); +} + +/** + * A collection of arguments for invoking getInstanceType. + */ +export interface GetInstanceTypeArgs { + /** + * The default number of cores for the instance type. + */ + readonly defaultCores?: number; + /** + * The default number of threads per core for the instance type. + */ + readonly defaultThreadsPerCore?: number; + /** + * Describes the FPGA accelerator settings for the instance type. + * * `fpgas.#.count` - The count of FPGA accelerators for the instance type. + * * `fpgas.#.manufacturer` - The manufacturer of the FPGA accelerator. + * * `fpgas.#.memory_size` - The size (in MiB) for the memory available to the FPGA accelerator. + * * `fpgas.#.name` - The name of the FPGA accelerator. + */ + readonly fpgas?: inputs.ec2.GetInstanceTypeFpga[]; + /** + * Describes the GPU accelerators for the instance type. + * * `gpus.#.count` - The number of GPUs for the instance type. + * * `gpus.#.manufacturer` - The manufacturer of the GPU accelerator. + * * `gpus.#.memory_size` - The size (in MiB) for the memory available to the GPU accelerator. + * * `gpus.#.name` - The name of the GPU accelerator. + */ + readonly gpuses?: inputs.ec2.GetInstanceTypeGpus[]; + /** + * Indicates the hypervisor used for the instance type. + * * `inferenceAccelerators` Describes the Inference accelerators for the instance type. + * * `inference_accelerators.#.count` - The number of Inference accelerators for the instance type. + * * `inference_accelerators.#.manufacturer` - The manufacturer of the Inference accelerator. + * * `inference_accelerators.#.name` - The name of the Inference accelerator. + */ + readonly hypervisor?: string; + readonly inferenceAccelerators?: inputs.ec2.GetInstanceTypeInferenceAccelerator[]; + /** + * Describes the disks for the instance type. + * * `instance_disks.#.count` - The number of disks with this configuration. + * * `instance_disks.#.size` - The size of the disk in GB. + * * `instance_disks.#.type` - The type of disk. + */ + readonly instanceDisks?: inputs.ec2.GetInstanceTypeInstanceDisk[]; + /** + * Instance + */ + readonly instanceType: string; + /** + * The maximum number of IPv6 addresses per network interface. + */ + readonly maximumIpv6AddressesPerInterface?: number; + /** + * The total memory of all FPGA accelerators for the instance type (in MiB). + */ + readonly totalFpgaMemory?: number; + /** + * The total size of the memory for the GPU accelerators for the instance type (in MiB). + */ + readonly totalGpuMemory?: number; + /** + * The total size of the instance disks, in GB. + */ + readonly totalInstanceStorage?: number; +} + +/** + * A collection of values returned by getInstanceType. + */ +export interface GetInstanceTypeResult { + /** + * `true` if auto recovery is supported. + */ + readonly autoRecoverySupported: boolean; + /** + * `true` if it is a bare metal instance type. + */ + readonly bareMetal: boolean; + /** + * `true` if the instance type is a burstable performance instance type. + */ + readonly burstablePerformanceSupported: boolean; + /** + * `true` if the instance type is a current generation. + */ + readonly currentGeneration: boolean; + /** + * `true` if Dedicated Hosts are supported on the instance type. + */ + readonly dedicatedHostsSupported: boolean; + /** + * The default number of cores for the instance type. + */ + readonly defaultCores: number; + /** + * The default number of threads per core for the instance type. + */ + readonly defaultThreadsPerCore: number; + /** + * The default number of vCPUs for the instance type. + */ + readonly defaultVcpus: number; + /** + * Indicates whether Amazon EBS encryption is supported. + */ + readonly ebsEncryptionSupport: string; + /** + * Indicates whether non-volatile memory express (NVMe) is supported. + */ + readonly ebsNvmeSupport: string; + /** + * Indicates that the instance type is Amazon EBS-optimized. + */ + readonly ebsOptimizedSupport: string; + /** + * The baseline bandwidth performance for an EBS-optimized instance type, in Mbps. + */ + readonly ebsPerformanceBaselineBandwidth: number; + /** + * The baseline input/output storage operations per seconds for an EBS-optimized instance type. + */ + readonly ebsPerformanceBaselineIops: number; + /** + * The baseline throughput performance for an EBS-optimized instance type, in MBps. + */ + readonly ebsPerformanceBaselineThroughput: number; + /** + * The maximum bandwidth performance for an EBS-optimized instance type, in Mbps. + */ + readonly ebsPerformanceMaximumBandwidth: number; + /** + * The maximum input/output storage operations per second for an EBS-optimized instance type. + */ + readonly ebsPerformanceMaximumIops: number; + /** + * The maximum throughput performance for an EBS-optimized instance type, in MBps. + */ + readonly ebsPerformanceMaximumThroughput: number; + /** + * Indicates whether Elastic Fabric Adapter (EFA) is supported. + */ + readonly efaSupported: boolean; + /** + * Indicates whether Elastic Network Adapter (ENA) is supported. + */ + readonly enaSupport: string; + /** + * Describes the FPGA accelerator settings for the instance type. + * * `fpgas.#.count` - The count of FPGA accelerators for the instance type. + * * `fpgas.#.manufacturer` - The manufacturer of the FPGA accelerator. + * * `fpgas.#.memory_size` - The size (in MiB) for the memory available to the FPGA accelerator. + * * `fpgas.#.name` - The name of the FPGA accelerator. + */ + readonly fpgas: outputs.ec2.GetInstanceTypeFpga[]; + /** + * `true` if the instance type is eligible for the free tier. + */ + readonly freeTierEligible: boolean; + /** + * Describes the GPU accelerators for the instance type. + * * `gpus.#.count` - The number of GPUs for the instance type. + * * `gpus.#.manufacturer` - The manufacturer of the GPU accelerator. + * * `gpus.#.memory_size` - The size (in MiB) for the memory available to the GPU accelerator. + * * `gpus.#.name` - The name of the GPU accelerator. + */ + readonly gpuses: outputs.ec2.GetInstanceTypeGpus[]; + /** + * `true` if On-Demand hibernation is supported. + */ + readonly hibernationSupported: boolean; + /** + * Indicates the hypervisor used for the instance type. + * * `inferenceAccelerators` Describes the Inference accelerators for the instance type. + * * `inference_accelerators.#.count` - The number of Inference accelerators for the instance type. + * * `inference_accelerators.#.manufacturer` - The manufacturer of the Inference accelerator. + * * `inference_accelerators.#.name` - The name of the Inference accelerator. + */ + readonly hypervisor: string; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + readonly inferenceAccelerators: outputs.ec2.GetInstanceTypeInferenceAccelerator[]; + /** + * Describes the disks for the instance type. + * * `instance_disks.#.count` - The number of disks with this configuration. + * * `instance_disks.#.size` - The size of the disk in GB. + * * `instance_disks.#.type` - The type of disk. + */ + readonly instanceDisks: outputs.ec2.GetInstanceTypeInstanceDisk[]; + /** + * `true` if instance storage is supported. + */ + readonly instanceStorageSupported: boolean; + readonly instanceType: string; + /** + * `true` if IPv6 is supported. + */ + readonly ipv6Supported: boolean; + /** + * The maximum number of IPv4 addresses per network interface. + */ + readonly maximumIpv4AddressesPerInterface: number; + /** + * The maximum number of IPv6 addresses per network interface. + */ + readonly maximumIpv6AddressesPerInterface: number; + /** + * The maximum number of network interfaces for the instance type. + */ + readonly maximumNetworkInterfaces: number; + /** + * Size of the instance memory, in MiB. + */ + readonly memorySize: number; + /** + * Describes the network performance. + */ + readonly networkPerformance: string; + /** + * A list of architectures supported by the instance type. + */ + readonly supportedArchitectures: string[]; + /** + * A list of supported placement groups types. + */ + readonly supportedPlacementStrategies: string[]; + /** + * Indicates the supported root device types. + */ + readonly supportedRootDeviceTypes: string[]; + /** + * Indicates whether the instance type is offered for spot or On-Demand. + */ + readonly supportedUsagesClasses: string[]; + /** + * The supported virtualization types. + */ + readonly supportedVirtualizationTypes: string[]; + /** + * The speed of the processor, in GHz. + */ + readonly sustainedClockSpeed: number; + /** + * The total memory of all FPGA accelerators for the instance type (in MiB). + */ + readonly totalFpgaMemory: number; + /** + * The total size of the memory for the GPU accelerators for the instance type (in MiB). + */ + readonly totalGpuMemory: number; + /** + * The total size of the instance disks, in GB. + */ + readonly totalInstanceStorage: number; + /** + * List of the valid number of cores that can be configured for the instance type. + */ + readonly validCores: number[]; + /** + * List of the valid number of threads per core that can be configured for the instance type. + */ + readonly validThreadsPerCores: number[]; +} diff --git a/sdk/nodejs/ec2/getVpcEndpointService.ts b/sdk/nodejs/ec2/getVpcEndpointService.ts index f825d78ec82..72c9697e595 100644 --- a/sdk/nodejs/ec2/getVpcEndpointService.ts +++ b/sdk/nodejs/ec2/getVpcEndpointService.ts @@ -20,6 +20,7 @@ import * as utilities from "../utilities"; * * const s3 = aws.ec2.getVpcEndpointService({ * service: "s3", + * serviceType: "Gateway", * }); * // Create a VPC * const foo = new aws.ec2.Vpc("foo", {cidrBlock: "10.0.0.0/16"}); @@ -66,6 +67,7 @@ export function getVpcEndpointService(args?: GetVpcEndpointServiceArgs, opts?: p "filters": args.filters, "service": args.service, "serviceName": args.serviceName, + "serviceType": args.serviceType, "tags": args.tags, }, opts); } @@ -86,6 +88,10 @@ export interface GetVpcEndpointServiceArgs { * The service name that is specified when creating a VPC endpoint. For AWS services the service name is usually in the form `com.amazonaws..` (the SageMaker Notebook service is an exception to this rule, the service name is in the form `aws.sagemaker..notebook`). */ readonly serviceName?: string; + /** + * The service type, `Gateway` or `Interface`. + */ + readonly serviceType?: string; /** * A map of tags, each pair of which must exactly match a pair on the desired VPC Endpoint Service. */ @@ -135,9 +141,6 @@ export interface GetVpcEndpointServiceResult { */ readonly serviceId: string; readonly serviceName: string; - /** - * The service type, `Gateway` or `Interface`. - */ readonly serviceType: string; /** * A map of tags assigned to the resource. diff --git a/sdk/nodejs/ec2/index.ts b/sdk/nodejs/ec2/index.ts index c6371c633e6..fc773ec4550 100644 --- a/sdk/nodejs/ec2/index.ts +++ b/sdk/nodejs/ec2/index.ts @@ -24,6 +24,7 @@ export * from "./getCoipPool"; export * from "./getCoipPools"; export * from "./getCustomerGateway"; export * from "./getInstance"; +export * from "./getInstanceType"; export * from "./getInstanceTypeOffering"; export * from "./getInstanceTypeOfferings"; export * from "./getInstances"; diff --git a/sdk/nodejs/efs/fileSystemPolicy.ts b/sdk/nodejs/efs/fileSystemPolicy.ts index 012c8359856..4f3fae6093f 100644 --- a/sdk/nodejs/efs/fileSystemPolicy.ts +++ b/sdk/nodejs/efs/fileSystemPolicy.ts @@ -21,7 +21,7 @@ import * as utilities from "../utilities"; * "Id": "ExamplePolicy01", * "Statement": [ * { - * "Sid": "ExampleSatement01", + * "Sid": "ExampleStatement01", * "Effect": "Allow", * "Principal": { * "AWS": "*" diff --git a/sdk/nodejs/elasticloadbalancingv2/loadBalancer.ts b/sdk/nodejs/elasticloadbalancingv2/loadBalancer.ts index a85d1fee19c..df1f5c822e7 100644 --- a/sdk/nodejs/elasticloadbalancingv2/loadBalancer.ts +++ b/sdk/nodejs/elasticloadbalancingv2/loadBalancer.ts @@ -23,7 +23,7 @@ import * as utilities from "../utilities"; * internal: false, * loadBalancerType: "application", * securityGroups: [aws_security_group.lb_sg.id], - * subnets: [aws_subnet["public"].map(__item => __item.id)], + * subnets: aws_subnet["public"].map(__item => __item.id), * enableDeletionProtection: true, * accessLogs: { * bucket: aws_s3_bucket.lb_logs.bucket, @@ -44,7 +44,7 @@ import * as utilities from "../utilities"; * const test = new aws.lb.LoadBalancer("test", { * internal: false, * loadBalancerType: "network", - * subnets: [aws_subnet["public"].map(__item => __item.id)], + * subnets: aws_subnet["public"].map(__item => __item.id), * enableDeletionProtection: true, * tags: { * Environment: "production", diff --git a/sdk/nodejs/elasticloadbalancingv2/targetGroup.ts b/sdk/nodejs/elasticloadbalancingv2/targetGroup.ts index 05f0c7f490f..7f6b2e4badc 100644 --- a/sdk/nodejs/elasticloadbalancingv2/targetGroup.ts +++ b/sdk/nodejs/elasticloadbalancingv2/targetGroup.ts @@ -131,7 +131,7 @@ export class TargetGroup extends pulumi.CustomResource { */ public readonly slowStart!: pulumi.Output; /** - * A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + * A Stickiness block. Stickiness blocks are documented below. */ public readonly stickiness!: pulumi.Output; /** @@ -266,7 +266,7 @@ export interface TargetGroupState { */ readonly slowStart?: pulumi.Input; /** - * A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + * A Stickiness block. Stickiness blocks are documented below. */ readonly stickiness?: pulumi.Input; /** @@ -333,7 +333,7 @@ export interface TargetGroupArgs { */ readonly slowStart?: pulumi.Input; /** - * A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + * A Stickiness block. Stickiness blocks are documented below. */ readonly stickiness?: pulumi.Input; /** diff --git a/sdk/nodejs/getIpRanges.ts b/sdk/nodejs/getIpRanges.ts index a9de6ea9294..34ec297c8f4 100644 --- a/sdk/nodejs/getIpRanges.ts +++ b/sdk/nodejs/getIpRanges.ts @@ -8,7 +8,7 @@ import * as enums from "./types/enums"; import * as utilities from "./utilities"; /** - * Use this data source to get the IP ranges of various AWS products and services. For more information about the contents of this data source and required JSON syntax if referencing a custom URL, see the [AWS IP Address Ranges documention](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html). + * Use this data source to get the IP ranges of various AWS products and services. For more information about the contents of this data source and required JSON syntax if referencing a custom URL, see the [AWS IP Address Ranges documentation](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html). * * ## Example Usage * @@ -72,7 +72,7 @@ export interface GetIpRangesArgs { */ readonly services: string[]; /** - * Custom URL for source JSON file. Syntax must match [AWS IP Address Ranges documention](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html). Defaults to `https://ip-ranges.amazonaws.com/ip-ranges.json`. + * Custom URL for source JSON file. Syntax must match [AWS IP Address Ranges documentation](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html). Defaults to `https://ip-ranges.amazonaws.com/ip-ranges.json`. */ readonly url?: string; } diff --git a/sdk/nodejs/getPartition.ts b/sdk/nodejs/getPartition.ts index 9dc202a1411..8abfc36c401 100644 --- a/sdk/nodejs/getPartition.ts +++ b/sdk/nodejs/getPartition.ts @@ -42,10 +42,16 @@ export function getPartition(opts?: pulumi.InvokeOptions): Promise __item.id)], + * subnets: aws_subnet["public"].map(__item => __item.id), * enableDeletionProtection: true, * accessLogs: { * bucket: aws_s3_bucket.lb_logs.bucket, @@ -44,7 +44,7 @@ import * as utilities from "../utilities"; * const test = new aws.lb.LoadBalancer("test", { * internal: false, * loadBalancerType: "network", - * subnets: [aws_subnet["public"].map(__item => __item.id)], + * subnets: aws_subnet["public"].map(__item => __item.id), * enableDeletionProtection: true, * tags: { * Environment: "production", diff --git a/sdk/nodejs/lb/targetGroup.ts b/sdk/nodejs/lb/targetGroup.ts index 9c5a6fabea0..268faeb40ab 100644 --- a/sdk/nodejs/lb/targetGroup.ts +++ b/sdk/nodejs/lb/targetGroup.ts @@ -128,7 +128,7 @@ export class TargetGroup extends pulumi.CustomResource { */ public readonly slowStart!: pulumi.Output; /** - * A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + * A Stickiness block. Stickiness blocks are documented below. */ public readonly stickiness!: pulumi.Output; /** @@ -262,7 +262,7 @@ export interface TargetGroupState { */ readonly slowStart?: pulumi.Input; /** - * A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + * A Stickiness block. Stickiness blocks are documented below. */ readonly stickiness?: pulumi.Input; /** @@ -329,7 +329,7 @@ export interface TargetGroupArgs { */ readonly slowStart?: pulumi.Input; /** - * A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + * A Stickiness block. Stickiness blocks are documented below. */ readonly stickiness?: pulumi.Input; /** diff --git a/sdk/nodejs/lex/botAlias.ts b/sdk/nodejs/lex/botAlias.ts new file mode 100644 index 00000000000..6dc3b217f9e --- /dev/null +++ b/sdk/nodejs/lex/botAlias.ts @@ -0,0 +1,208 @@ +// *** 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 an Amazon Lex Bot Alias resource. For more information see + * [Amazon Lex: How It Works](https://docs.aws.amazon.com/lex/latest/dg/how-it-works.html) + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const orderFlowersProd = new aws.lex.BotAlias("order_flowers_prod", { + * botName: "OrderFlowers", + * botVersion: "1", + * description: "Production Version of the OrderFlowers Bot.", + * }); + * ``` + */ +export class BotAlias extends pulumi.CustomResource { + /** + * Get an existing BotAlias 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?: BotAliasState, opts?: pulumi.CustomResourceOptions): BotAlias { + return new BotAlias(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:lex/botAlias:BotAlias'; + + /** + * Returns true if the given object is an instance of BotAlias. 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 BotAlias { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === BotAlias.__pulumiType; + } + + /** + * The ARN of the bot alias. + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * The name of the bot. + */ + public readonly botName!: pulumi.Output; + /** + * The name of the bot. + */ + public readonly botVersion!: pulumi.Output; + /** + * Checksum of the bot alias. + */ + public /*out*/ readonly checksum!: pulumi.Output; + /** + * The settings that determine how Amazon Lex uses conversation logs for the alias. Attributes are documented under conversation_logs. + */ + public readonly conversationLogs!: pulumi.Output; + /** + * The date that the bot alias was created. + */ + public /*out*/ readonly createdDate!: pulumi.Output; + /** + * A description of the alias. + */ + public readonly description!: pulumi.Output; + /** + * The date that the bot alias was updated. When you create a resource, the creation date and the last updated date are the same. + */ + public /*out*/ readonly lastUpdatedDate!: pulumi.Output; + /** + * The name of the alias. The name is not case sensitive. + */ + public readonly name!: pulumi.Output; + + /** + * Create a BotAlias 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: BotAliasArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: BotAliasArgs | BotAliasState, opts?: pulumi.CustomResourceOptions) { + let inputs: pulumi.Inputs = {}; + if (opts && opts.id) { + const state = argsOrState as BotAliasState | undefined; + inputs["arn"] = state ? state.arn : undefined; + inputs["botName"] = state ? state.botName : undefined; + inputs["botVersion"] = state ? state.botVersion : undefined; + inputs["checksum"] = state ? state.checksum : undefined; + inputs["conversationLogs"] = state ? state.conversationLogs : undefined; + inputs["createdDate"] = state ? state.createdDate : undefined; + inputs["description"] = state ? state.description : undefined; + inputs["lastUpdatedDate"] = state ? state.lastUpdatedDate : undefined; + inputs["name"] = state ? state.name : undefined; + } else { + const args = argsOrState as BotAliasArgs | undefined; + if (!args || args.botName === undefined) { + throw new Error("Missing required property 'botName'"); + } + if (!args || args.botVersion === undefined) { + throw new Error("Missing required property 'botVersion'"); + } + inputs["botName"] = args ? args.botName : undefined; + inputs["botVersion"] = args ? args.botVersion : undefined; + inputs["conversationLogs"] = args ? args.conversationLogs : undefined; + inputs["description"] = args ? args.description : undefined; + inputs["name"] = args ? args.name : undefined; + inputs["arn"] = undefined /*out*/; + inputs["checksum"] = undefined /*out*/; + inputs["createdDate"] = undefined /*out*/; + inputs["lastUpdatedDate"] = undefined /*out*/; + } + if (!opts) { + opts = {} + } + + if (!opts.version) { + opts.version = utilities.getVersion(); + } + super(BotAlias.__pulumiType, name, inputs, opts); + } +} + +/** + * Input properties used for looking up and filtering BotAlias resources. + */ +export interface BotAliasState { + /** + * The ARN of the bot alias. + */ + readonly arn?: pulumi.Input; + /** + * The name of the bot. + */ + readonly botName?: pulumi.Input; + /** + * The name of the bot. + */ + readonly botVersion?: pulumi.Input; + /** + * Checksum of the bot alias. + */ + readonly checksum?: pulumi.Input; + /** + * The settings that determine how Amazon Lex uses conversation logs for the alias. Attributes are documented under conversation_logs. + */ + readonly conversationLogs?: pulumi.Input; + /** + * The date that the bot alias was created. + */ + readonly createdDate?: pulumi.Input; + /** + * A description of the alias. + */ + readonly description?: pulumi.Input; + /** + * The date that the bot alias was updated. When you create a resource, the creation date and the last updated date are the same. + */ + readonly lastUpdatedDate?: pulumi.Input; + /** + * The name of the alias. The name is not case sensitive. + */ + readonly name?: pulumi.Input; +} + +/** + * The set of arguments for constructing a BotAlias resource. + */ +export interface BotAliasArgs { + /** + * The name of the bot. + */ + readonly botName: pulumi.Input; + /** + * The name of the bot. + */ + readonly botVersion: pulumi.Input; + /** + * The settings that determine how Amazon Lex uses conversation logs for the alias. Attributes are documented under conversation_logs. + */ + readonly conversationLogs?: pulumi.Input; + /** + * A description of the alias. + */ + readonly description?: pulumi.Input; + /** + * The name of the alias. The name is not case sensitive. + */ + readonly name?: pulumi.Input; +} diff --git a/sdk/nodejs/lex/getBotAlias.ts b/sdk/nodejs/lex/getBotAlias.ts new file mode 100644 index 00000000000..5da7a4f99a5 --- /dev/null +++ b/sdk/nodejs/lex/getBotAlias.ts @@ -0,0 +1,93 @@ +// *** 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 details about a specific Amazon Lex Bot Alias. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const orderFlowersProd = pulumi.output(aws.lex.getBotAlias({ + * botName: "OrderFlowers", + * name: "OrderFlowersProd", + * }, { async: true })); + * ``` + */ +export function getBotAlias(args: GetBotAliasArgs, opts?: pulumi.InvokeOptions): Promise { + if (!opts) { + opts = {} + } + + if (!opts.version) { + opts.version = utilities.getVersion(); + } + return pulumi.runtime.invoke("aws:lex/getBotAlias:getBotAlias", { + "botName": args.botName, + "name": args.name, + }, opts); +} + +/** + * A collection of arguments for invoking getBotAlias. + */ +export interface GetBotAliasArgs { + /** + * The name of the bot. + */ + readonly botName: string; + /** + * The name of the bot alias. The name is case sensitive. + */ + readonly name: string; +} + +/** + * A collection of values returned by getBotAlias. + */ +export interface GetBotAliasResult { + /** + * The ARN of the bot alias. + */ + readonly arn: string; + /** + * The name of the bot. + */ + readonly botName: string; + /** + * The version of the bot that the alias points to. + */ + readonly botVersion: string; + /** + * Checksum of the bot alias. + */ + readonly checksum: string; + /** + * The date that the bot alias was created. + */ + readonly createdDate: string; + /** + * A description of the alias. + */ + readonly description: string; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * The date that the bot alias was updated. When you create a resource, the creation date and the last updated date are the same. + */ + readonly lastUpdatedDate: string; + /** + * The name of the alias. The name is not case sensitive. + */ + readonly name: string; +} diff --git a/sdk/nodejs/lex/index.ts b/sdk/nodejs/lex/index.ts index 6a7394a9167..e7ff90720c2 100644 --- a/sdk/nodejs/lex/index.ts +++ b/sdk/nodejs/lex/index.ts @@ -3,7 +3,9 @@ // Export members: export * from "./bot"; +export * from "./botAlias"; export * from "./getBot"; +export * from "./getBotAlias"; export * from "./getIntent"; export * from "./getSlotType"; export * from "./intent"; diff --git a/sdk/nodejs/lex/intent.ts b/sdk/nodejs/lex/intent.ts index ee9db209a9e..060edab614f 100644 --- a/sdk/nodejs/lex/intent.ts +++ b/sdk/nodejs/lex/intent.ts @@ -132,7 +132,10 @@ export class Intent extends pulumi.CustomResource { public /*out*/ readonly checksum!: pulumi.Output; /** * The statement that you want Amazon Lex to convey to the user - * after the intent is successfully fulfilled by the Lambda function. + * after the intent is successfully fulfilled by the Lambda function. This element is relevant only if + * you provide a Lambda function in the `fulfillmentActivity`. If you return the intent to the client + * application, you can't specify this element. The `followUpPrompt` and `conclusionStatement` are + * mutually exclusive. You can specify only one. Attributes are documented under statement. */ public readonly conclusionStatement!: pulumi.Output; /** @@ -143,7 +146,7 @@ export class Intent extends pulumi.CustomResource { public readonly confirmationPrompt!: pulumi.Output; /** * Determines if a new slot type version is created when the initial - * resource is created and on each update. Defaults to true. + * resource is created and on each update. Defaults to `false`. */ public readonly createVersion!: pulumi.Output; /** @@ -162,13 +165,14 @@ export class Intent extends pulumi.CustomResource { /** * Amazon Lex uses this prompt to solicit additional activity after * fulfilling an intent. For example, after the OrderPizza intent is fulfilled, you might prompt the - * user to order a drink. + * user to order a drink. The `followUpPrompt` field and the `conclusionStatement` field are mutually + * exclusive. You can specify only one. Attributes are documented under follow_up_prompt. */ public readonly followUpPrompt!: pulumi.Output; /** * Describes how the intent is fulfilled. For example, after a * user provides all of the information for a pizza order, `fulfillmentActivity` defines how the bot - * places an order with a local pizza store. + * places an order with a local pizza store. Attributes are documented under fulfillment_activity. */ public readonly fulfillmentActivity!: pulumi.Output; /** @@ -187,9 +191,9 @@ export class Intent extends pulumi.CustomResource { */ public readonly parentIntentSignature!: pulumi.Output; /** - * When the user answers "no" to the question defined in - * `confirmationPrompt`, Amazon Lex responds with this statement to acknowledge that the intent was - * canceled. + * If the user answers "no" to the question defined in the prompt field, + * Amazon Lex responds with this statement to acknowledge that the intent was canceled. Attributes are + * documented below under statement. */ public readonly rejectionStatement!: pulumi.Output; /** @@ -286,7 +290,10 @@ export interface IntentState { readonly checksum?: pulumi.Input; /** * The statement that you want Amazon Lex to convey to the user - * after the intent is successfully fulfilled by the Lambda function. + * after the intent is successfully fulfilled by the Lambda function. This element is relevant only if + * you provide a Lambda function in the `fulfillmentActivity`. If you return the intent to the client + * application, you can't specify this element. The `followUpPrompt` and `conclusionStatement` are + * mutually exclusive. You can specify only one. Attributes are documented under statement. */ readonly conclusionStatement?: pulumi.Input; /** @@ -297,7 +304,7 @@ export interface IntentState { readonly confirmationPrompt?: pulumi.Input; /** * Determines if a new slot type version is created when the initial - * resource is created and on each update. Defaults to true. + * resource is created and on each update. Defaults to `false`. */ readonly createVersion?: pulumi.Input; /** @@ -316,13 +323,14 @@ export interface IntentState { /** * Amazon Lex uses this prompt to solicit additional activity after * fulfilling an intent. For example, after the OrderPizza intent is fulfilled, you might prompt the - * user to order a drink. + * user to order a drink. The `followUpPrompt` field and the `conclusionStatement` field are mutually + * exclusive. You can specify only one. Attributes are documented under follow_up_prompt. */ readonly followUpPrompt?: pulumi.Input; /** * Describes how the intent is fulfilled. For example, after a * user provides all of the information for a pizza order, `fulfillmentActivity` defines how the bot - * places an order with a local pizza store. + * places an order with a local pizza store. Attributes are documented under fulfillment_activity. */ readonly fulfillmentActivity?: pulumi.Input; /** @@ -341,9 +349,9 @@ export interface IntentState { */ readonly parentIntentSignature?: pulumi.Input; /** - * When the user answers "no" to the question defined in - * `confirmationPrompt`, Amazon Lex responds with this statement to acknowledge that the intent was - * canceled. + * If the user answers "no" to the question defined in the prompt field, + * Amazon Lex responds with this statement to acknowledge that the intent was canceled. Attributes are + * documented below under statement. */ readonly rejectionStatement?: pulumi.Input; /** @@ -369,7 +377,10 @@ export interface IntentState { export interface IntentArgs { /** * The statement that you want Amazon Lex to convey to the user - * after the intent is successfully fulfilled by the Lambda function. + * after the intent is successfully fulfilled by the Lambda function. This element is relevant only if + * you provide a Lambda function in the `fulfillmentActivity`. If you return the intent to the client + * application, you can't specify this element. The `followUpPrompt` and `conclusionStatement` are + * mutually exclusive. You can specify only one. Attributes are documented under statement. */ readonly conclusionStatement?: pulumi.Input; /** @@ -380,7 +391,7 @@ export interface IntentArgs { readonly confirmationPrompt?: pulumi.Input; /** * Determines if a new slot type version is created when the initial - * resource is created and on each update. Defaults to true. + * resource is created and on each update. Defaults to `false`. */ readonly createVersion?: pulumi.Input; /** @@ -395,13 +406,14 @@ export interface IntentArgs { /** * Amazon Lex uses this prompt to solicit additional activity after * fulfilling an intent. For example, after the OrderPizza intent is fulfilled, you might prompt the - * user to order a drink. + * user to order a drink. The `followUpPrompt` field and the `conclusionStatement` field are mutually + * exclusive. You can specify only one. Attributes are documented under follow_up_prompt. */ readonly followUpPrompt?: pulumi.Input; /** * Describes how the intent is fulfilled. For example, after a * user provides all of the information for a pizza order, `fulfillmentActivity` defines how the bot - * places an order with a local pizza store. + * places an order with a local pizza store. Attributes are documented under fulfillment_activity. */ readonly fulfillmentActivity: pulumi.Input; /** @@ -416,9 +428,9 @@ export interface IntentArgs { */ readonly parentIntentSignature?: pulumi.Input; /** - * When the user answers "no" to the question defined in - * `confirmationPrompt`, Amazon Lex responds with this statement to acknowledge that the intent was - * canceled. + * If the user answers "no" to the question defined in the prompt field, + * Amazon Lex responds with this statement to acknowledge that the intent was canceled. Attributes are + * documented below under statement. */ readonly rejectionStatement?: pulumi.Input; /** diff --git a/sdk/nodejs/lex/slotType.ts b/sdk/nodejs/lex/slotType.ts index bc02b71c086..beebb43f6a3 100644 --- a/sdk/nodejs/lex/slotType.ts +++ b/sdk/nodejs/lex/slotType.ts @@ -18,7 +18,7 @@ import * as utilities from "../utilities"; * import * as aws from "@pulumi/aws"; * * const flowerTypes = new aws.lex.SlotType("flower_types", { - * createVersion: false, + * createVersion: true, * description: "Types of flowers to order", * enumerationValues: [ * { @@ -75,7 +75,7 @@ export class SlotType extends pulumi.CustomResource { public /*out*/ readonly checksum!: pulumi.Output; /** * Determines if a new slot type version is created when the initial resource is created and on each - * update. Defaults to true. + * update. Defaults to `false`. */ public readonly createVersion!: pulumi.Output; /** @@ -105,7 +105,7 @@ export class SlotType extends pulumi.CustomResource { * Determines the slot resolution strategy that Amazon Lex * uses to return slot type values. `ORIGINAL_VALUE` returns the value entered by the user if the user * value is similar to the slot value. `TOP_RESOLUTION` returns the first value in the resolution list - * if there is a resolution list for the slot, otherwise null is returned. + * if there is a resolution list for the slot, otherwise null is returned. Defaults to `ORIGINAL_VALUE`. */ public readonly valueSelectionStrategy!: pulumi.Output; /** @@ -171,7 +171,7 @@ export interface SlotTypeState { readonly checksum?: pulumi.Input; /** * Determines if a new slot type version is created when the initial resource is created and on each - * update. Defaults to true. + * update. Defaults to `false`. */ readonly createVersion?: pulumi.Input; /** @@ -201,7 +201,7 @@ export interface SlotTypeState { * Determines the slot resolution strategy that Amazon Lex * uses to return slot type values. `ORIGINAL_VALUE` returns the value entered by the user if the user * value is similar to the slot value. `TOP_RESOLUTION` returns the first value in the resolution list - * if there is a resolution list for the slot, otherwise null is returned. + * if there is a resolution list for the slot, otherwise null is returned. Defaults to `ORIGINAL_VALUE`. */ readonly valueSelectionStrategy?: pulumi.Input; /** @@ -216,7 +216,7 @@ export interface SlotTypeState { export interface SlotTypeArgs { /** * Determines if a new slot type version is created when the initial resource is created and on each - * update. Defaults to true. + * update. Defaults to `false`. */ readonly createVersion?: pulumi.Input; /** @@ -238,7 +238,7 @@ export interface SlotTypeArgs { * Determines the slot resolution strategy that Amazon Lex * uses to return slot type values. `ORIGINAL_VALUE` returns the value entered by the user if the user * value is similar to the slot value. `TOP_RESOLUTION` returns the first value in the resolution list - * if there is a resolution list for the slot, otherwise null is returned. + * if there is a resolution list for the slot, otherwise null is returned. Defaults to `ORIGINAL_VALUE`. */ readonly valueSelectionStrategy?: pulumi.Input; } diff --git a/sdk/nodejs/msk/cluster.ts b/sdk/nodejs/msk/cluster.ts index 48681af7528..283d450d70b 100644 --- a/sdk/nodejs/msk/cluster.ts +++ b/sdk/nodejs/msk/cluster.ts @@ -148,11 +148,11 @@ export class Cluster extends pulumi.CustomResource { */ public /*out*/ readonly arn!: pulumi.Output; /** - * A comma separated list of one or more hostname:port pairs of kafka brokers suitable to boostrap connectivity to the kafka cluster. Only contains value if `clientBroker` encryption in transit is set to `PLAINTEXT` or `TLS_PLAINTEXT`. + * A comma separated list of one or more hostname:port pairs of kafka brokers suitable to bootstrap connectivity to the kafka cluster. Only contains value if `clientBroker` encryption in transit is set to `PLAINTEXT` or `TLS_PLAINTEXT`. */ public /*out*/ readonly bootstrapBrokers!: pulumi.Output; /** - * A comma separated list of one or more DNS names (or IPs) and TLS port pairs kafka brokers suitable to boostrap connectivity to the kafka cluster. Only contains value if `clientBroker` encryption in transit is set to `TLS_PLAINTEXT` or `TLS`. + * A comma separated list of one or more DNS names (or IPs) and TLS port pairs kafka brokers suitable to bootstrap connectivity to the kafka cluster. Only contains value if `clientBroker` encryption in transit is set to `TLS_PLAINTEXT` or `TLS`. */ public /*out*/ readonly bootstrapBrokersTls!: pulumi.Output; /** @@ -288,11 +288,11 @@ export interface ClusterState { */ readonly arn?: pulumi.Input; /** - * A comma separated list of one or more hostname:port pairs of kafka brokers suitable to boostrap connectivity to the kafka cluster. Only contains value if `clientBroker` encryption in transit is set to `PLAINTEXT` or `TLS_PLAINTEXT`. + * A comma separated list of one or more hostname:port pairs of kafka brokers suitable to bootstrap connectivity to the kafka cluster. Only contains value if `clientBroker` encryption in transit is set to `PLAINTEXT` or `TLS_PLAINTEXT`. */ readonly bootstrapBrokers?: pulumi.Input; /** - * A comma separated list of one or more DNS names (or IPs) and TLS port pairs kafka brokers suitable to boostrap connectivity to the kafka cluster. Only contains value if `clientBroker` encryption in transit is set to `TLS_PLAINTEXT` or `TLS`. + * A comma separated list of one or more DNS names (or IPs) and TLS port pairs kafka brokers suitable to bootstrap connectivity to the kafka cluster. Only contains value if `clientBroker` encryption in transit is set to `TLS_PLAINTEXT` or `TLS`. */ readonly bootstrapBrokersTls?: pulumi.Input; /** diff --git a/sdk/nodejs/neptune/clusterInstance.ts b/sdk/nodejs/neptune/clusterInstance.ts index 7b8e823243b..eeba56ccf74 100644 --- a/sdk/nodejs/neptune/clusterInstance.ts +++ b/sdk/nodejs/neptune/clusterInstance.ts @@ -108,7 +108,7 @@ export class ClusterInstance extends pulumi.CustomResource { */ public readonly engineVersion!: pulumi.Output; /** - * The indentifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. + * The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. */ public readonly identifier!: pulumi.Output; /** @@ -291,7 +291,7 @@ export interface ClusterInstanceState { */ readonly engineVersion?: pulumi.Input; /** - * The indentifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. + * The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. */ readonly identifier?: pulumi.Input; /** @@ -379,7 +379,7 @@ export interface ClusterInstanceArgs { */ readonly engineVersion?: pulumi.Input; /** - * The indentifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. + * The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. */ readonly identifier?: pulumi.Input; /** diff --git a/sdk/nodejs/rds/proxy.ts b/sdk/nodejs/rds/proxy.ts index 8b1e827453a..8de58c50c7c 100644 --- a/sdk/nodejs/rds/proxy.ts +++ b/sdk/nodejs/rds/proxy.ts @@ -111,7 +111,6 @@ export class Proxy extends pulumi.CustomResource { public readonly vpcSecurityGroupIds!: pulumi.Output; /** * One or more VPC subnet IDs to associate with the new proxy. - * describe-db-parameters.html) after initial creation of the group. */ public readonly vpcSubnetIds!: pulumi.Output; @@ -227,7 +226,6 @@ export interface ProxyState { readonly vpcSecurityGroupIds?: pulumi.Input[]>; /** * One or more VPC subnet IDs to associate with the new proxy. - * describe-db-parameters.html) after initial creation of the group. */ readonly vpcSubnetIds?: pulumi.Input[]>; } @@ -274,7 +272,6 @@ export interface ProxyArgs { readonly vpcSecurityGroupIds?: pulumi.Input[]>; /** * One or more VPC subnet IDs to associate with the new proxy. - * describe-db-parameters.html) after initial creation of the group. */ readonly vpcSubnetIds: pulumi.Input[]>; } diff --git a/sdk/nodejs/redshift/getOrderableCluster.ts b/sdk/nodejs/redshift/getOrderableCluster.ts new file mode 100644 index 00000000000..a827c8eaa73 --- /dev/null +++ b/sdk/nodejs/redshift/getOrderableCluster.ts @@ -0,0 +1,83 @@ +// *** 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"; + +/** + * Information about Redshift Orderable Clusters and valid parameter combinations. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const test = pulumi.output(aws.redshift.getOrderableCluster({ + * clusterType: "multi-node", + * preferredNodeTypes: [ + * "dc2.large", + * "ds2.xlarge", + * ], + * }, { async: true })); + * ``` + */ +export function getOrderableCluster(args?: GetOrderableClusterArgs, opts?: pulumi.InvokeOptions): Promise { + args = args || {}; + if (!opts) { + opts = {} + } + + if (!opts.version) { + opts.version = utilities.getVersion(); + } + return pulumi.runtime.invoke("aws:redshift/getOrderableCluster:getOrderableCluster", { + "clusterType": args.clusterType, + "clusterVersion": args.clusterVersion, + "nodeType": args.nodeType, + "preferredNodeTypes": args.preferredNodeTypes, + }, opts); +} + +/** + * A collection of arguments for invoking getOrderableCluster. + */ +export interface GetOrderableClusterArgs { + /** + * Reshift Cluster type. e.g. `multi-node` or `single-node` + */ + readonly clusterType?: string; + /** + * Redshift Cluster version. e.g. `1.0` + */ + readonly clusterVersion?: string; + /** + * Redshift Cluster node type. e.g. `dc2.8xlarge` + */ + readonly nodeType?: string; + /** + * Ordered list of preferred Redshift Cluster node types. The first match in this list will be returned. If no preferred matches are found and the original search returned more than one result, an error is returned. + */ + readonly preferredNodeTypes?: string[]; +} + +/** + * A collection of values returned by getOrderableCluster. + */ +export interface GetOrderableClusterResult { + /** + * List of Availability Zone names where the Redshit Cluster is available. + */ + readonly availabilityZones: string[]; + readonly clusterType: string; + readonly clusterVersion: string; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + readonly nodeType: string; + readonly preferredNodeTypes?: string[]; +} diff --git a/sdk/nodejs/redshift/index.ts b/sdk/nodejs/redshift/index.ts index 98ab19a5d7d..054aa77b854 100644 --- a/sdk/nodejs/redshift/index.ts +++ b/sdk/nodejs/redshift/index.ts @@ -5,6 +5,7 @@ export * from "./cluster"; export * from "./eventSubscription"; export * from "./getCluster"; +export * from "./getOrderableCluster"; export * from "./getServiceAccount"; export * from "./parameterGroup"; export * from "./securityGroup"; diff --git a/sdk/nodejs/s3/bucketObject.ts b/sdk/nodejs/s3/bucketObject.ts index 0bd4c94ff27..f41c83eb3a1 100644 --- a/sdk/nodejs/s3/bucketObject.ts +++ b/sdk/nodejs/s3/bucketObject.ts @@ -160,13 +160,7 @@ export class BucketObject extends pulumi.CustomResource { * The name of the object once it is in the bucket. */ public readonly key!: pulumi.Output; - /** - * Specifies the AWS KMS Key ARN to use for object encryption. - * This value is a fully qualified **ARN** of the KMS Key. If using `aws.kms.Key`, - * use the exported `arn` attribute: - * `kmsKeyId = "${aws_kms_key.foo.arn}"` - */ - public readonly kmsKeyId!: pulumi.Output; + public readonly kmsKeyId!: pulumi.Output; /** * A 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). */ @@ -339,12 +333,6 @@ export interface BucketObjectState { * The name of the object once it is in the bucket. */ readonly key?: pulumi.Input; - /** - * Specifies the AWS KMS Key ARN to use for object encryption. - * This value is a fully qualified **ARN** of the KMS Key. If using `aws.kms.Key`, - * use the exported `arn` attribute: - * `kmsKeyId = "${aws_kms_key.foo.arn}"` - */ readonly kmsKeyId?: pulumi.Input; /** * A 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). @@ -444,12 +432,6 @@ export interface BucketObjectArgs { * The name of the object once it is in the bucket. */ readonly key?: pulumi.Input; - /** - * Specifies the AWS KMS Key ARN to use for object encryption. - * This value is a fully qualified **ARN** of the KMS Key. If using `aws.kms.Key`, - * use the exported `arn` attribute: - * `kmsKeyId = "${aws_kms_key.foo.arn}"` - */ readonly kmsKeyId?: pulumi.Input; /** * A 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). diff --git a/sdk/nodejs/s3/bucketOwnershipControls.ts b/sdk/nodejs/s3/bucketOwnershipControls.ts new file mode 100644 index 00000000000..21d7992126d --- /dev/null +++ b/sdk/nodejs/s3/bucketOwnershipControls.ts @@ -0,0 +1,109 @@ +// *** 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"; + +export class BucketOwnershipControls extends pulumi.CustomResource { + /** + * Get an existing BucketOwnershipControls 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?: BucketOwnershipControlsState, opts?: pulumi.CustomResourceOptions): BucketOwnershipControls { + return new BucketOwnershipControls(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:s3/bucketOwnershipControls:BucketOwnershipControls'; + + /** + * Returns true if the given object is an instance of BucketOwnershipControls. 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 BucketOwnershipControls { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === BucketOwnershipControls.__pulumiType; + } + + /** + * The name of the bucket that you want to associate this access point with. + */ + public readonly bucket!: pulumi.Output; + /** + * Configuration block(s) with Ownership Controls rules. Detailed below. + */ + public readonly rule!: pulumi.Output; + + /** + * Create a BucketOwnershipControls 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: BucketOwnershipControlsArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: BucketOwnershipControlsArgs | BucketOwnershipControlsState, opts?: pulumi.CustomResourceOptions) { + let inputs: pulumi.Inputs = {}; + if (opts && opts.id) { + const state = argsOrState as BucketOwnershipControlsState | undefined; + inputs["bucket"] = state ? state.bucket : undefined; + inputs["rule"] = state ? state.rule : undefined; + } else { + const args = argsOrState as BucketOwnershipControlsArgs | undefined; + if (!args || args.bucket === undefined) { + throw new Error("Missing required property 'bucket'"); + } + if (!args || args.rule === undefined) { + throw new Error("Missing required property 'rule'"); + } + inputs["bucket"] = args ? args.bucket : undefined; + inputs["rule"] = args ? args.rule : undefined; + } + if (!opts) { + opts = {} + } + + if (!opts.version) { + opts.version = utilities.getVersion(); + } + super(BucketOwnershipControls.__pulumiType, name, inputs, opts); + } +} + +/** + * Input properties used for looking up and filtering BucketOwnershipControls resources. + */ +export interface BucketOwnershipControlsState { + /** + * The name of the bucket that you want to associate this access point with. + */ + readonly bucket?: pulumi.Input; + /** + * Configuration block(s) with Ownership Controls rules. Detailed below. + */ + readonly rule?: pulumi.Input; +} + +/** + * The set of arguments for constructing a BucketOwnershipControls resource. + */ +export interface BucketOwnershipControlsArgs { + /** + * The name of the bucket that you want to associate this access point with. + */ + readonly bucket: pulumi.Input; + /** + * Configuration block(s) with Ownership Controls rules. Detailed below. + */ + readonly rule: pulumi.Input; +} diff --git a/sdk/nodejs/s3/index.ts b/sdk/nodejs/s3/index.ts index d61c16bac5c..bbed47edda8 100644 --- a/sdk/nodejs/s3/index.ts +++ b/sdk/nodejs/s3/index.ts @@ -9,6 +9,7 @@ export * from "./bucket"; export * from "./bucketMetric"; export * from "./bucketNotification"; export * from "./bucketObject"; +export * from "./bucketOwnershipControls"; export * from "./bucketPolicy"; export * from "./bucketPublicAccessBlock"; export * from "./cannedAcl"; diff --git a/sdk/nodejs/sns/getTopic.ts b/sdk/nodejs/sns/getTopic.ts index 051802a090b..11e8cd4a1c9 100644 --- a/sdk/nodejs/sns/getTopic.ts +++ b/sdk/nodejs/sns/getTopic.ts @@ -51,7 +51,7 @@ export interface GetTopicArgs { */ export interface GetTopicResult { /** - * Set to the ARN of the found topic, suitable for referencing in other resources that support SNS topics. + * Amazon Resource Name (ARN) of the found topic, suitable for referencing in other resources that support SNS topics. */ readonly arn: string; /** diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 4b0b9b3453e..879655b5b0d 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -184,8 +184,10 @@ "cloudwatch/metricAlarm.ts", "codeartifact/domain.ts", "codeartifact/domainPermissions.ts", + "codeartifact/getAuthorizationToken.ts", "codeartifact/index.ts", "codeartifact/repository.ts", + "codeartifact/repositoryPermissionsPolicy.ts", "codebuild/index.ts", "codebuild/project.ts", "codebuild/reportGroup.ts", @@ -316,6 +318,7 @@ "ec2/getCoipPools.ts", "ec2/getCustomerGateway.ts", "ec2/getInstance.ts", + "ec2/getInstanceType.ts", "ec2/getInstanceTypeOffering.ts", "ec2/getInstanceTypeOfferings.ts", "ec2/getInstances.ts", @@ -675,7 +678,9 @@ "lb/targetGroup.ts", "lb/targetGroupAttachment.ts", "lex/bot.ts", + "lex/botAlias.ts", "lex/getBot.ts", + "lex/getBotAlias.ts", "lex/getIntent.ts", "lex/getSlotType.ts", "lex/index.ts", @@ -811,6 +816,7 @@ "redshift/cluster.ts", "redshift/eventSubscription.ts", "redshift/getCluster.ts", + "redshift/getOrderableCluster.ts", "redshift/getServiceAccount.ts", "redshift/index.ts", "redshift/parameterGroup.ts", @@ -847,6 +853,7 @@ "s3/bucketMetric.ts", "s3/bucketNotification.ts", "s3/bucketObject.ts", + "s3/bucketOwnershipControls.ts", "s3/bucketPolicy.ts", "s3/bucketPublicAccessBlock.ts", "s3/cannedAcl.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index d905ca19cde..0712cb49a3a 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -227,6 +227,7 @@ export interface ProviderEndpoint { sts?: pulumi.Input; swf?: pulumi.Input; synthetics?: pulumi.Input; + timestreamwrite?: pulumi.Input; transfer?: pulumi.Input; waf?: pulumi.Input; wafregional?: pulumi.Input; @@ -900,7 +901,7 @@ export namespace alb { export interface TargetGroupStickiness { /** - * The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + * Only used when the type is `lbCookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). */ cookieDuration?: pulumi.Input; /** @@ -908,7 +909,7 @@ export namespace alb { */ enabled?: pulumi.Input; /** - * The type of sticky sessions. The only current possible value is `lbCookie`. + * The type of sticky sessions. The only current possible values are `lbCookie` for ALBs and `sourceIp` for NLBs. */ type: pulumi.Input; } @@ -1841,7 +1842,7 @@ export namespace applicationloadbalancing { export interface TargetGroupStickiness { /** - * The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + * Only used when the type is `lbCookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). */ cookieDuration?: pulumi.Input; /** @@ -1849,7 +1850,7 @@ export namespace applicationloadbalancing { */ enabled?: pulumi.Input; /** - * The type of sticky sessions. The only current possible value is `lbCookie`. + * The type of sticky sessions. The only current possible values are `lbCookie` for ALBs and `sourceIp` for NLBs. */ type: pulumi.Input; } @@ -1908,6 +1909,10 @@ export namespace appmesh { * The retry policy. */ retryPolicy?: pulumi.Input; + /** + * The types of timeouts. + */ + timeout?: pulumi.Input; } export interface RouteSpecGrpcRouteAction { @@ -1938,6 +1943,11 @@ export namespace appmesh { * The method name to match from the request. If you specify a name, you must also specify a `serviceName`. */ methodName?: pulumi.Input; + /** + * The value sent by the client must begin with the specified characters. + * This parameter must always start with /, which by itself matches all requests to the virtual router service name. + */ + prefix?: pulumi.Input; /** * The fully qualified domain name for the service to match from the request. */ @@ -2031,6 +2041,39 @@ export namespace appmesh { value: pulumi.Input; } + export interface RouteSpecGrpcRouteTimeout { + /** + * The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + */ + idle?: pulumi.Input; + /** + * The per request timeout. + */ + perRequest?: pulumi.Input; + } + + export interface RouteSpecGrpcRouteTimeoutIdle { + /** + * The unit of time. Valid values: `ms`, `s`. + */ + unit: pulumi.Input; + /** + * The number of time units. Minimum value of `0`. + */ + value: pulumi.Input; + } + + export interface RouteSpecGrpcRouteTimeoutPerRequest { + /** + * The unit of time. Valid values: `ms`, `s`. + */ + unit: pulumi.Input; + /** + * The number of time units. Minimum value of `0`. + */ + value: pulumi.Input; + } + export interface RouteSpecHttp2Route { /** * The action to take if a match is determined. @@ -2044,6 +2087,10 @@ export namespace appmesh { * The retry policy. */ retryPolicy?: pulumi.Input; + /** + * The types of timeouts. + */ + timeout?: pulumi.Input; } export interface RouteSpecHttp2RouteAction { @@ -2167,6 +2214,39 @@ export namespace appmesh { value: pulumi.Input; } + export interface RouteSpecHttp2RouteTimeout { + /** + * The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + */ + idle?: pulumi.Input; + /** + * The per request timeout. + */ + perRequest?: pulumi.Input; + } + + export interface RouteSpecHttp2RouteTimeoutIdle { + /** + * The unit of time. Valid values: `ms`, `s`. + */ + unit: pulumi.Input; + /** + * The number of time units. Minimum value of `0`. + */ + value: pulumi.Input; + } + + export interface RouteSpecHttp2RouteTimeoutPerRequest { + /** + * The unit of time. Valid values: `ms`, `s`. + */ + unit: pulumi.Input; + /** + * The number of time units. Minimum value of `0`. + */ + value: pulumi.Input; + } + export interface RouteSpecHttpRoute { /** * The action to take if a match is determined. @@ -2180,6 +2260,10 @@ export namespace appmesh { * The retry policy. */ retryPolicy?: pulumi.Input; + /** + * The types of timeouts. + */ + timeout?: pulumi.Input; } export interface RouteSpecHttpRouteAction { @@ -2303,11 +2387,48 @@ export namespace appmesh { value: pulumi.Input; } + export interface RouteSpecHttpRouteTimeout { + /** + * The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + */ + idle?: pulumi.Input; + /** + * The per request timeout. + */ + perRequest?: pulumi.Input; + } + + export interface RouteSpecHttpRouteTimeoutIdle { + /** + * The unit of time. Valid values: `ms`, `s`. + */ + unit: pulumi.Input; + /** + * The number of time units. Minimum value of `0`. + */ + value: pulumi.Input; + } + + export interface RouteSpecHttpRouteTimeoutPerRequest { + /** + * The unit of time. Valid values: `ms`, `s`. + */ + unit: pulumi.Input; + /** + * The number of time units. Minimum value of `0`. + */ + value: pulumi.Input; + } + export interface RouteSpecTcpRoute { /** * The action to take if a match is determined. */ action: pulumi.Input; + /** + * The types of timeouts. + */ + timeout?: pulumi.Input; } export interface RouteSpecTcpRouteAction { @@ -2329,6 +2450,24 @@ export namespace appmesh { weight: pulumi.Input; } + export interface RouteSpecTcpRouteTimeout { + /** + * The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + */ + idle?: pulumi.Input; + } + + export interface RouteSpecTcpRouteTimeoutIdle { + /** + * The unit of time. Valid values: `ms`, `s`. + */ + unit: pulumi.Input; + /** + * The number of time units. Minimum value of `0`. + */ + value: pulumi.Input; + } + export interface VirtualNodeSpec { /** * The defaults for backends. @@ -2394,7 +2533,7 @@ export namespace appmesh { export interface VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust { /** - * The TLS validation context trust for an AWS Certicate Manager (ACM) certificate. + * The TLS validation context trust for an AWS Certificate Manager (ACM) certificate. */ acm?: pulumi.Input; /** @@ -2456,7 +2595,7 @@ export namespace appmesh { export interface VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust { /** - * The TLS validation context trust for an AWS Certicate Manager (ACM) certificate. + * The TLS validation context trust for an AWS Certificate Manager (ACM) certificate. */ acm?: pulumi.Input; /** @@ -2488,6 +2627,10 @@ export namespace appmesh { * The port mapping information for the listener. */ portMapping: pulumi.Input; + /** + * Timeouts for different protocols. + */ + timeout?: pulumi.Input; /** * The Transport Layer Security (TLS) properties for the listener */ @@ -2536,6 +2679,142 @@ export namespace appmesh { protocol: pulumi.Input; } + export interface VirtualNodeSpecListenerTimeout { + /** + * Timeouts for gRPC listeners. + */ + grpc?: pulumi.Input; + /** + * Timeouts for HTTP listeners. + */ + http?: pulumi.Input; + /** + * Timeouts for HTTP2 listeners. + */ + http2?: pulumi.Input; + /** + * Timeouts for TCP listeners. + */ + tcp?: pulumi.Input; + } + + export interface VirtualNodeSpecListenerTimeoutGrpc { + /** + * The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + */ + idle?: pulumi.Input; + /** + * The per request timeout. + */ + perRequest?: pulumi.Input; + } + + export interface VirtualNodeSpecListenerTimeoutGrpcIdle { + /** + * The unit of time. Valid values: `ms`, `s`. + */ + unit: pulumi.Input; + /** + * The number of time units. Minimum value of `0`. + */ + value: pulumi.Input; + } + + export interface VirtualNodeSpecListenerTimeoutGrpcPerRequest { + /** + * The unit of time. Valid values: `ms`, `s`. + */ + unit: pulumi.Input; + /** + * The number of time units. Minimum value of `0`. + */ + value: pulumi.Input; + } + + export interface VirtualNodeSpecListenerTimeoutHttp { + /** + * The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + */ + idle?: pulumi.Input; + /** + * The per request timeout. + */ + perRequest?: pulumi.Input; + } + + export interface VirtualNodeSpecListenerTimeoutHttp2 { + /** + * The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + */ + idle?: pulumi.Input; + /** + * The per request timeout. + */ + perRequest?: pulumi.Input; + } + + export interface VirtualNodeSpecListenerTimeoutHttp2Idle { + /** + * The unit of time. Valid values: `ms`, `s`. + */ + unit: pulumi.Input; + /** + * The number of time units. Minimum value of `0`. + */ + value: pulumi.Input; + } + + export interface VirtualNodeSpecListenerTimeoutHttp2PerRequest { + /** + * The unit of time. Valid values: `ms`, `s`. + */ + unit: pulumi.Input; + /** + * The number of time units. Minimum value of `0`. + */ + value: pulumi.Input; + } + + export interface VirtualNodeSpecListenerTimeoutHttpIdle { + /** + * The unit of time. Valid values: `ms`, `s`. + */ + unit: pulumi.Input; + /** + * The number of time units. Minimum value of `0`. + */ + value: pulumi.Input; + } + + export interface VirtualNodeSpecListenerTimeoutHttpPerRequest { + /** + * The unit of time. Valid values: `ms`, `s`. + */ + unit: pulumi.Input; + /** + * The number of time units. Minimum value of `0`. + */ + value: pulumi.Input; + } + + export interface VirtualNodeSpecListenerTimeoutTcp { + /** + * The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + */ + idle?: pulumi.Input; + } + + export interface VirtualNodeSpecListenerTimeoutTcpIdle { + /** + * The unit of time. Valid values: `ms`, `s`. + */ + unit: pulumi.Input; + /** + * The number of time units. Minimum value of `0`. + */ + value: pulumi.Input; + } + export interface VirtualNodeSpecListenerTls { /** * The listener's TLS certificate. @@ -2549,7 +2828,7 @@ export namespace appmesh { export interface VirtualNodeSpecListenerTlsCertificate { /** - * An AWS Certicate Manager (ACM) certificate. + * An AWS Certificate Manager (ACM) certificate. */ acm?: pulumi.Input; /** @@ -6374,6 +6653,38 @@ export namespace ec2 { values: string[]; } + export interface GetInstanceTypeFpga { + count?: number; + manufacturer?: string; + /** + * Size of the instance memory, in MiB. + */ + memorySize?: number; + name?: string; + } + + export interface GetInstanceTypeGpus { + count?: number; + manufacturer?: string; + /** + * Size of the instance memory, in MiB. + */ + memorySize?: number; + name?: string; + } + + export interface GetInstanceTypeInferenceAccelerator { + count?: number; + manufacturer?: string; + name?: string; + } + + export interface GetInstanceTypeInstanceDisk { + count?: number; + size?: number; + type?: string; + } + export interface GetInstanceTypeOfferingFilter { /** * Name of the filter. The `location` filter depends on the top-level `locationType` argument and if not specified, defaults to the current region. @@ -9115,7 +9426,7 @@ export namespace elasticloadbalancingv2 { export interface TargetGroupStickiness { /** - * The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + * Only used when the type is `lbCookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). */ cookieDuration?: pulumi.Input; /** @@ -9123,7 +9434,7 @@ export namespace elasticloadbalancingv2 { */ enabled?: pulumi.Input; /** - * The type of sticky sessions. The only current possible value is `lbCookie`. + * The type of sticky sessions. The only current possible values are `lbCookie` for ALBs and `sourceIp` for NLBs. */ type: pulumi.Input; } @@ -13571,7 +13882,7 @@ export namespace lb { export interface TargetGroupStickiness { /** - * The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + * Only used when the type is `lbCookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). */ cookieDuration?: pulumi.Input; /** @@ -13579,7 +13890,7 @@ export namespace lb { */ enabled?: pulumi.Input; /** - * The type of sticky sessions. The only current possible value is `lbCookie`. + * The type of sticky sessions. The only current possible values are `lbCookie` for ALBs and `sourceIp` for NLBs. */ type: pulumi.Input; } @@ -13617,6 +13928,40 @@ export namespace lex { groupNumber?: pulumi.Input; } + export interface BotAliasConversationLogs { + /** + * The Amazon Resource Name (ARN) of the IAM role used to write your logs to CloudWatch Logs or an S3 bucket. + */ + iamRoleArn: pulumi.Input; + /** + * The settings for your conversation logs. You can log text, audio, or both. Attributes are documented under log_settings. + */ + logSettings?: pulumi.Input[]>; + } + + export interface BotAliasConversationLogsLogSetting { + /** + * The destination where logs are delivered. Options are `CLOUDWATCH_LOGS` or `S3`. + */ + destination: pulumi.Input; + /** + * The Amazon Resource Name (ARN) of the key used to encrypt audio logs in an S3 bucket. This can only be specified when `destination` is set to `S3`. + */ + kmsKeyArn?: pulumi.Input; + /** + * The type of logging that is enabled. Options are `AUDIO` or `TEXT`. + */ + logType: pulumi.Input; + /** + * The Amazon Resource Name (ARN) of the CloudWatch Logs log group or S3 bucket where the logs are delivered. + */ + resourceArn: pulumi.Input; + /** + * The prefix of the S3 object key for `AUDIO` logs or the log stream name for `TEXT` logs. + */ + resourcePrefix?: pulumi.Input; + } + export interface BotClarificationPrompt { /** * The number of times to prompt the user for information. @@ -13748,9 +14093,9 @@ export namespace lex { */ prompt: pulumi.Input; /** - * When the user answers "no" to the question defined in - * `confirmationPrompt`, Amazon Lex responds with this statement to acknowledge that the intent was - * canceled. + * If the user answers "no" to the question defined in the prompt field, + * Amazon Lex responds with this statement to acknowledge that the intent was canceled. Attributes are + * documented below under statement. */ rejectionStatement: pulumi.Input; } @@ -13890,7 +14235,8 @@ export namespace lex { /** * Directs Lex the order in which to elicit this slot value from the user. * For example, if the intent has two slots with priorities 1 and 2, AWS Lex first elicits a value for - * the slot with priority 1. + * the slot with priority 1. If multiple slots share the same priority, the order in which Lex elicits + * values is arbitrary. */ priority?: pulumi.Input; /** @@ -15569,6 +15915,13 @@ export namespace s3 { years?: pulumi.Input; } + export interface BucketOwnershipControlsRule { + /** + * Object ownership. Valid values: `BucketOwnerPreferred` or `ObjectWriter` + */ + objectOwnership: pulumi.Input; + } + export interface BucketReplicationConfiguration { /** * The ARN of the IAM role for Amazon S3 to assume when replicating the objects. diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 4f8a3a04400..4feeda84971 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -239,6 +239,7 @@ export interface ProviderEndpoint { sts?: string; swf?: string; synthetics?: string; + timestreamwrite?: string; transfer?: string; waf?: string; wafregional?: string; @@ -996,7 +997,7 @@ export namespace alb { export interface TargetGroupStickiness { /** - * The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + * Only used when the type is `lbCookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). */ cookieDuration?: number; /** @@ -1004,7 +1005,7 @@ export namespace alb { */ enabled?: boolean; /** - * The type of sticky sessions. The only current possible value is `lbCookie`. + * The type of sticky sessions. The only current possible values are `lbCookie` for ALBs and `sourceIp` for NLBs. */ type: string; } @@ -2026,7 +2027,7 @@ export namespace applicationloadbalancing { export interface TargetGroupStickiness { /** - * The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + * Only used when the type is `lbCookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). */ cookieDuration?: number; /** @@ -2034,7 +2035,7 @@ export namespace applicationloadbalancing { */ enabled?: boolean; /** - * The type of sticky sessions. The only current possible value is `lbCookie`. + * The type of sticky sessions. The only current possible values are `lbCookie` for ALBs and `sourceIp` for NLBs. */ type: string; } @@ -2093,6 +2094,10 @@ export namespace appmesh { * The retry policy. */ retryPolicy?: outputs.appmesh.RouteSpecGrpcRouteRetryPolicy; + /** + * The types of timeouts. + */ + timeout?: outputs.appmesh.RouteSpecGrpcRouteTimeout; } export interface RouteSpecGrpcRouteAction { @@ -2123,6 +2128,11 @@ export namespace appmesh { * The method name to match from the request. If you specify a name, you must also specify a `serviceName`. */ methodName?: string; + /** + * The value sent by the client must begin with the specified characters. + * This parameter must always start with /, which by itself matches all requests to the virtual router service name. + */ + prefix?: string; /** * The fully qualified domain name for the service to match from the request. */ @@ -2216,6 +2226,39 @@ export namespace appmesh { value: number; } + export interface RouteSpecGrpcRouteTimeout { + /** + * The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + */ + idle?: outputs.appmesh.RouteSpecGrpcRouteTimeoutIdle; + /** + * The per request timeout. + */ + perRequest?: outputs.appmesh.RouteSpecGrpcRouteTimeoutPerRequest; + } + + export interface RouteSpecGrpcRouteTimeoutIdle { + /** + * The unit of time. Valid values: `ms`, `s`. + */ + unit: string; + /** + * The number of time units. Minimum value of `0`. + */ + value: number; + } + + export interface RouteSpecGrpcRouteTimeoutPerRequest { + /** + * The unit of time. Valid values: `ms`, `s`. + */ + unit: string; + /** + * The number of time units. Minimum value of `0`. + */ + value: number; + } + export interface RouteSpecHttp2Route { /** * The action to take if a match is determined. @@ -2229,6 +2272,10 @@ export namespace appmesh { * The retry policy. */ retryPolicy?: outputs.appmesh.RouteSpecHttp2RouteRetryPolicy; + /** + * The types of timeouts. + */ + timeout?: outputs.appmesh.RouteSpecHttp2RouteTimeout; } export interface RouteSpecHttp2RouteAction { @@ -2352,6 +2399,39 @@ export namespace appmesh { value: number; } + export interface RouteSpecHttp2RouteTimeout { + /** + * The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + */ + idle?: outputs.appmesh.RouteSpecHttp2RouteTimeoutIdle; + /** + * The per request timeout. + */ + perRequest?: outputs.appmesh.RouteSpecHttp2RouteTimeoutPerRequest; + } + + export interface RouteSpecHttp2RouteTimeoutIdle { + /** + * The unit of time. Valid values: `ms`, `s`. + */ + unit: string; + /** + * The number of time units. Minimum value of `0`. + */ + value: number; + } + + export interface RouteSpecHttp2RouteTimeoutPerRequest { + /** + * The unit of time. Valid values: `ms`, `s`. + */ + unit: string; + /** + * The number of time units. Minimum value of `0`. + */ + value: number; + } + export interface RouteSpecHttpRoute { /** * The action to take if a match is determined. @@ -2365,6 +2445,10 @@ export namespace appmesh { * The retry policy. */ retryPolicy?: outputs.appmesh.RouteSpecHttpRouteRetryPolicy; + /** + * The types of timeouts. + */ + timeout?: outputs.appmesh.RouteSpecHttpRouteTimeout; } export interface RouteSpecHttpRouteAction { @@ -2488,11 +2572,48 @@ export namespace appmesh { value: number; } + export interface RouteSpecHttpRouteTimeout { + /** + * The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + */ + idle?: outputs.appmesh.RouteSpecHttpRouteTimeoutIdle; + /** + * The per request timeout. + */ + perRequest?: outputs.appmesh.RouteSpecHttpRouteTimeoutPerRequest; + } + + export interface RouteSpecHttpRouteTimeoutIdle { + /** + * The unit of time. Valid values: `ms`, `s`. + */ + unit: string; + /** + * The number of time units. Minimum value of `0`. + */ + value: number; + } + + export interface RouteSpecHttpRouteTimeoutPerRequest { + /** + * The unit of time. Valid values: `ms`, `s`. + */ + unit: string; + /** + * The number of time units. Minimum value of `0`. + */ + value: number; + } + export interface RouteSpecTcpRoute { /** * The action to take if a match is determined. */ action: outputs.appmesh.RouteSpecTcpRouteAction; + /** + * The types of timeouts. + */ + timeout?: outputs.appmesh.RouteSpecTcpRouteTimeout; } export interface RouteSpecTcpRouteAction { @@ -2514,6 +2635,24 @@ export namespace appmesh { weight: number; } + export interface RouteSpecTcpRouteTimeout { + /** + * The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + */ + idle?: outputs.appmesh.RouteSpecTcpRouteTimeoutIdle; + } + + export interface RouteSpecTcpRouteTimeoutIdle { + /** + * The unit of time. Valid values: `ms`, `s`. + */ + unit: string; + /** + * The number of time units. Minimum value of `0`. + */ + value: number; + } + export interface VirtualNodeSpec { /** * The defaults for backends. @@ -2579,7 +2718,7 @@ export namespace appmesh { export interface VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust { /** - * The TLS validation context trust for an AWS Certicate Manager (ACM) certificate. + * The TLS validation context trust for an AWS Certificate Manager (ACM) certificate. */ acm?: outputs.appmesh.VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm; /** @@ -2641,7 +2780,7 @@ export namespace appmesh { export interface VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust { /** - * The TLS validation context trust for an AWS Certicate Manager (ACM) certificate. + * The TLS validation context trust for an AWS Certificate Manager (ACM) certificate. */ acm?: outputs.appmesh.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm; /** @@ -2673,6 +2812,10 @@ export namespace appmesh { * The port mapping information for the listener. */ portMapping: outputs.appmesh.VirtualNodeSpecListenerPortMapping; + /** + * Timeouts for different protocols. + */ + timeout?: outputs.appmesh.VirtualNodeSpecListenerTimeout; /** * The Transport Layer Security (TLS) properties for the listener */ @@ -2721,6 +2864,142 @@ export namespace appmesh { protocol: string; } + export interface VirtualNodeSpecListenerTimeout { + /** + * Timeouts for gRPC listeners. + */ + grpc?: outputs.appmesh.VirtualNodeSpecListenerTimeoutGrpc; + /** + * Timeouts for HTTP listeners. + */ + http?: outputs.appmesh.VirtualNodeSpecListenerTimeoutHttp; + /** + * Timeouts for HTTP2 listeners. + */ + http2?: outputs.appmesh.VirtualNodeSpecListenerTimeoutHttp2; + /** + * Timeouts for TCP listeners. + */ + tcp?: outputs.appmesh.VirtualNodeSpecListenerTimeoutTcp; + } + + export interface VirtualNodeSpecListenerTimeoutGrpc { + /** + * The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + */ + idle?: outputs.appmesh.VirtualNodeSpecListenerTimeoutGrpcIdle; + /** + * The per request timeout. + */ + perRequest?: outputs.appmesh.VirtualNodeSpecListenerTimeoutGrpcPerRequest; + } + + export interface VirtualNodeSpecListenerTimeoutGrpcIdle { + /** + * The unit of time. Valid values: `ms`, `s`. + */ + unit: string; + /** + * The number of time units. Minimum value of `0`. + */ + value: number; + } + + export interface VirtualNodeSpecListenerTimeoutGrpcPerRequest { + /** + * The unit of time. Valid values: `ms`, `s`. + */ + unit: string; + /** + * The number of time units. Minimum value of `0`. + */ + value: number; + } + + export interface VirtualNodeSpecListenerTimeoutHttp { + /** + * The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + */ + idle?: outputs.appmesh.VirtualNodeSpecListenerTimeoutHttpIdle; + /** + * The per request timeout. + */ + perRequest?: outputs.appmesh.VirtualNodeSpecListenerTimeoutHttpPerRequest; + } + + export interface VirtualNodeSpecListenerTimeoutHttp2 { + /** + * The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + */ + idle?: outputs.appmesh.VirtualNodeSpecListenerTimeoutHttp2Idle; + /** + * The per request timeout. + */ + perRequest?: outputs.appmesh.VirtualNodeSpecListenerTimeoutHttp2PerRequest; + } + + export interface VirtualNodeSpecListenerTimeoutHttp2Idle { + /** + * The unit of time. Valid values: `ms`, `s`. + */ + unit: string; + /** + * The number of time units. Minimum value of `0`. + */ + value: number; + } + + export interface VirtualNodeSpecListenerTimeoutHttp2PerRequest { + /** + * The unit of time. Valid values: `ms`, `s`. + */ + unit: string; + /** + * The number of time units. Minimum value of `0`. + */ + value: number; + } + + export interface VirtualNodeSpecListenerTimeoutHttpIdle { + /** + * The unit of time. Valid values: `ms`, `s`. + */ + unit: string; + /** + * The number of time units. Minimum value of `0`. + */ + value: number; + } + + export interface VirtualNodeSpecListenerTimeoutHttpPerRequest { + /** + * The unit of time. Valid values: `ms`, `s`. + */ + unit: string; + /** + * The number of time units. Minimum value of `0`. + */ + value: number; + } + + export interface VirtualNodeSpecListenerTimeoutTcp { + /** + * The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + */ + idle?: outputs.appmesh.VirtualNodeSpecListenerTimeoutTcpIdle; + } + + export interface VirtualNodeSpecListenerTimeoutTcpIdle { + /** + * The unit of time. Valid values: `ms`, `s`. + */ + unit: string; + /** + * The number of time units. Minimum value of `0`. + */ + value: number; + } + export interface VirtualNodeSpecListenerTls { /** * The listener's TLS certificate. @@ -2734,7 +3013,7 @@ export namespace appmesh { export interface VirtualNodeSpecListenerTlsCertificate { /** - * An AWS Certicate Manager (ACM) certificate. + * An AWS Certificate Manager (ACM) certificate. */ acm?: outputs.appmesh.VirtualNodeSpecListenerTlsCertificateAcm; /** @@ -5753,6 +6032,7 @@ export namespace config { sts?: string; swf?: string; synthetics?: string; + timestreamwrite?: string; transfer?: string; waf?: string; wafregional?: string; @@ -6906,6 +7186,38 @@ export namespace ec2 { volumeType: string; } + export interface GetInstanceTypeFpga { + count: number; + manufacturer: string; + /** + * Size of the instance memory, in MiB. + */ + memorySize: number; + name: string; + } + + export interface GetInstanceTypeGpus { + count: number; + manufacturer: string; + /** + * Size of the instance memory, in MiB. + */ + memorySize: number; + name: string; + } + + export interface GetInstanceTypeInferenceAccelerator { + count: number; + manufacturer: string; + name: string; + } + + export interface GetInstanceTypeInstanceDisk { + count: number; + size: number; + type: string; + } + export interface GetInstanceTypeOfferingFilter { /** * Name of the filter. The `location` filter depends on the top-level `locationType` argument and if not specified, defaults to the current region. @@ -10217,7 +10529,7 @@ export namespace elasticloadbalancingv2 { export interface TargetGroupStickiness { /** - * The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + * Only used when the type is `lbCookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). */ cookieDuration?: number; /** @@ -10225,7 +10537,7 @@ export namespace elasticloadbalancingv2 { */ enabled?: boolean; /** - * The type of sticky sessions. The only current possible value is `lbCookie`. + * The type of sticky sessions. The only current possible values are `lbCookie` for ALBs and `sourceIp` for NLBs. */ type: string; } @@ -14983,7 +15295,7 @@ export namespace lb { export interface TargetGroupStickiness { /** - * The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + * Only used when the type is `lbCookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). */ cookieDuration?: number; /** @@ -14991,7 +15303,7 @@ export namespace lb { */ enabled?: boolean; /** - * The type of sticky sessions. The only current possible value is `lbCookie`. + * The type of sticky sessions. The only current possible values are `lbCookie` for ALBs and `sourceIp` for NLBs. */ type: string; } @@ -15029,6 +15341,40 @@ export namespace lex { groupNumber?: number; } + export interface BotAliasConversationLogs { + /** + * The Amazon Resource Name (ARN) of the IAM role used to write your logs to CloudWatch Logs or an S3 bucket. + */ + iamRoleArn: string; + /** + * The settings for your conversation logs. You can log text, audio, or both. Attributes are documented under log_settings. + */ + logSettings?: outputs.lex.BotAliasConversationLogsLogSetting[]; + } + + export interface BotAliasConversationLogsLogSetting { + /** + * The destination where logs are delivered. Options are `CLOUDWATCH_LOGS` or `S3`. + */ + destination: string; + /** + * The Amazon Resource Name (ARN) of the key used to encrypt audio logs in an S3 bucket. This can only be specified when `destination` is set to `S3`. + */ + kmsKeyArn?: string; + /** + * The type of logging that is enabled. Options are `AUDIO` or `TEXT`. + */ + logType: string; + /** + * The Amazon Resource Name (ARN) of the CloudWatch Logs log group or S3 bucket where the logs are delivered. + */ + resourceArn: string; + /** + * The prefix of the S3 object key for `AUDIO` logs or the log stream name for `TEXT` logs. + */ + resourcePrefix: string; + } + export interface BotClarificationPrompt { /** * The number of times to prompt the user for information. @@ -15165,9 +15511,9 @@ export namespace lex { */ prompt: outputs.lex.IntentFollowUpPromptPrompt; /** - * When the user answers "no" to the question defined in - * `confirmationPrompt`, Amazon Lex responds with this statement to acknowledge that the intent was - * canceled. + * If the user answers "no" to the question defined in the prompt field, + * Amazon Lex responds with this statement to acknowledge that the intent was canceled. Attributes are + * documented below under statement. */ rejectionStatement: outputs.lex.IntentFollowUpPromptRejectionStatement; } @@ -15307,7 +15653,8 @@ export namespace lex { /** * Directs Lex the order in which to elicit this slot value from the user. * For example, if the intent has two slots with priorities 1 and 2, AWS Lex first elicits a value for - * the slot with priority 1. + * the slot with priority 1. If multiple slots share the same priority, the order in which Lex elicits + * values is arbitrary. */ priority?: number; /** @@ -17101,6 +17448,13 @@ export namespace s3 { years?: number; } + export interface BucketOwnershipControlsRule { + /** + * Object ownership. Valid values: `BucketOwnerPreferred` or `ObjectWriter` + */ + objectOwnership: string; + } + export interface BucketReplicationConfiguration { /** * The ARN of the IAM role for Amazon S3 to assume when replicating the objects. diff --git a/sdk/python/pulumi_aws/_inputs.py b/sdk/python/pulumi_aws/_inputs.py index 8a2e2974535..31656d92411 100644 --- a/sdk/python/pulumi_aws/_inputs.py +++ b/sdk/python/pulumi_aws/_inputs.py @@ -260,6 +260,7 @@ def __init__(__self__, *, sts: Optional[pulumi.Input[str]] = None, swf: Optional[pulumi.Input[str]] = None, synthetics: Optional[pulumi.Input[str]] = None, + timestreamwrite: Optional[pulumi.Input[str]] = None, transfer: Optional[pulumi.Input[str]] = None, waf: Optional[pulumi.Input[str]] = None, wafregional: Optional[pulumi.Input[str]] = None, @@ -536,6 +537,8 @@ def __init__(__self__, *, pulumi.set(__self__, "swf", swf) if synthetics is not None: pulumi.set(__self__, "synthetics", synthetics) + if timestreamwrite is not None: + pulumi.set(__self__, "timestreamwrite", timestreamwrite) if transfer is not None: pulumi.set(__self__, "transfer", transfer) if waf is not None: @@ -1759,6 +1762,15 @@ def synthetics(self) -> Optional[pulumi.Input[str]]: def synthetics(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "synthetics", value) + @property + @pulumi.getter + def timestreamwrite(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "timestreamwrite") + + @timestreamwrite.setter + def timestreamwrite(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "timestreamwrite", value) + @property @pulumi.getter def transfer(self) -> Optional[pulumi.Input[str]]: diff --git a/sdk/python/pulumi_aws/_tables.py b/sdk/python/pulumi_aws/_tables.py index cf17376e544..178c32348b1 100644 --- a/sdk/python/pulumi_aws/_tables.py +++ b/sdk/python/pulumi_aws/_tables.py @@ -201,6 +201,8 @@ "bootstrap_actions": "bootstrapActions", "bootstrap_brokers": "bootstrapBrokers", "bootstrap_brokers_tls": "bootstrapBrokersTls", + "bot_name": "botName", + "bot_version": "botVersion", "bounce_actions": "bounceActions", "branch_filter": "branchFilter", "broker_name": "brokerName", @@ -355,6 +357,7 @@ "content_handling_strategy": "contentHandlingStrategy", "content_language": "contentLanguage", "content_type": "contentType", + "conversation_logs": "conversationLogs", "cookie_expiration_period": "cookieExpirationPeriod", "cookie_name": "cookieName", "copy_tags_to_backups": "copyTagsToBackups", @@ -2097,6 +2100,8 @@ "bootstrapActions": "bootstrap_actions", "bootstrapBrokers": "bootstrap_brokers", "bootstrapBrokersTls": "bootstrap_brokers_tls", + "botName": "bot_name", + "botVersion": "bot_version", "bounceActions": "bounce_actions", "branchFilter": "branch_filter", "brokerName": "broker_name", @@ -2251,6 +2256,7 @@ "contentHandlingStrategy": "content_handling_strategy", "contentLanguage": "content_language", "contentType": "content_type", + "conversationLogs": "conversation_logs", "cookieExpirationPeriod": "cookie_expiration_period", "cookieName": "cookie_name", "copyTagsToBackups": "copy_tags_to_backups", diff --git a/sdk/python/pulumi_aws/acm/get_certificate.py b/sdk/python/pulumi_aws/acm/get_certificate.py index 408fa80f7b6..b83d7185aa9 100644 --- a/sdk/python/pulumi_aws/acm/get_certificate.py +++ b/sdk/python/pulumi_aws/acm/get_certificate.py @@ -49,7 +49,7 @@ def __init__(__self__, arn=None, domain=None, id=None, key_types=None, most_rece @pulumi.getter def arn(self) -> str: """ - Set to the ARN of the found certificate, suitable for referencing in other resources that support ACM certificates. + Amazon Resource Name (ARN) of the found certificate, suitable for referencing in other resources that support ACM certificates. """ return pulumi.get(self, "arn") diff --git a/sdk/python/pulumi_aws/alb/_inputs.py b/sdk/python/pulumi_aws/alb/_inputs.py index 90b4a6cc8df..91ba44d6080 100644 --- a/sdk/python/pulumi_aws/alb/_inputs.py +++ b/sdk/python/pulumi_aws/alb/_inputs.py @@ -1992,8 +1992,8 @@ def __init__(__self__, *, cookie_duration: Optional[pulumi.Input[int]] = None, enabled: Optional[pulumi.Input[bool]] = None): """ - :param pulumi.Input[str] type: The type of sticky sessions. The only current possible value is `lb_cookie`. - :param pulumi.Input[int] cookie_duration: The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + :param pulumi.Input[str] type: The type of sticky sessions. The only current possible values are `lb_cookie` for ALBs and `source_ip` for NLBs. + :param pulumi.Input[int] cookie_duration: Only used when the type is `lb_cookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). :param pulumi.Input[bool] enabled: Indicates whether health checks are enabled. Defaults to true. """ pulumi.set(__self__, "type", type) @@ -2006,7 +2006,7 @@ def __init__(__self__, *, @pulumi.getter def type(self) -> pulumi.Input[str]: """ - The type of sticky sessions. The only current possible value is `lb_cookie`. + The type of sticky sessions. The only current possible values are `lb_cookie` for ALBs and `source_ip` for NLBs. """ return pulumi.get(self, "type") @@ -2018,7 +2018,7 @@ def type(self, value: pulumi.Input[str]): @pulumi.getter(name="cookieDuration") def cookie_duration(self) -> Optional[pulumi.Input[int]]: """ - The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + Only used when the type is `lb_cookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). """ return pulumi.get(self, "cookie_duration") diff --git a/sdk/python/pulumi_aws/alb/load_balancer.py b/sdk/python/pulumi_aws/alb/load_balancer.py index b76d25f08cc..9e22edb619c 100644 --- a/sdk/python/pulumi_aws/alb/load_balancer.py +++ b/sdk/python/pulumi_aws/alb/load_balancer.py @@ -52,7 +52,7 @@ def __init__(__self__, internal=False, load_balancer_type="application", security_groups=[aws_security_group["lb_sg"]["id"]], - subnets=[[__item["id"] for __item in aws_subnet["public"]]], + subnets=[__item["id"] for __item in aws_subnet["public"]], enable_deletion_protection=True, access_logs=aws.lb.LoadBalancerAccessLogsArgs( bucket=aws_s3_bucket["lb_logs"]["bucket"], @@ -72,7 +72,7 @@ def __init__(__self__, test = aws.lb.LoadBalancer("test", internal=False, load_balancer_type="network", - subnets=[[__item["id"] for __item in aws_subnet["public"]]], + subnets=[__item["id"] for __item in aws_subnet["public"]], enable_deletion_protection=True, tags={ "Environment": "production", diff --git a/sdk/python/pulumi_aws/alb/outputs.py b/sdk/python/pulumi_aws/alb/outputs.py index ecbefc0fdb5..2a2220a4147 100644 --- a/sdk/python/pulumi_aws/alb/outputs.py +++ b/sdk/python/pulumi_aws/alb/outputs.py @@ -1624,8 +1624,8 @@ def __init__(__self__, *, cookie_duration: Optional[int] = None, enabled: Optional[bool] = None): """ - :param str type: The type of sticky sessions. The only current possible value is `lb_cookie`. - :param int cookie_duration: The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + :param str type: The type of sticky sessions. The only current possible values are `lb_cookie` for ALBs and `source_ip` for NLBs. + :param int cookie_duration: Only used when the type is `lb_cookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). :param bool enabled: Indicates whether health checks are enabled. Defaults to true. """ pulumi.set(__self__, "type", type) @@ -1638,7 +1638,7 @@ def __init__(__self__, *, @pulumi.getter def type(self) -> str: """ - The type of sticky sessions. The only current possible value is `lb_cookie`. + The type of sticky sessions. The only current possible values are `lb_cookie` for ALBs and `source_ip` for NLBs. """ return pulumi.get(self, "type") @@ -1646,7 +1646,7 @@ def type(self) -> str: @pulumi.getter(name="cookieDuration") def cookie_duration(self) -> Optional[int]: """ - The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + Only used when the type is `lb_cookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). """ return pulumi.get(self, "cookie_duration") diff --git a/sdk/python/pulumi_aws/alb/target_group.py b/sdk/python/pulumi_aws/alb/target_group.py index 951bf367556..68e1c83f283 100644 --- a/sdk/python/pulumi_aws/alb/target_group.py +++ b/sdk/python/pulumi_aws/alb/target_group.py @@ -86,7 +86,7 @@ def __init__(__self__, :param pulumi.Input[str] protocol: The protocol to use for routing traffic to the targets. Should be one of "TCP", "TLS", "UDP", "TCP_UDP", "HTTP" or "HTTPS". Required when `target_type` is `instance` or `ip`. Does not apply when `target_type` is `lambda`. :param pulumi.Input[bool] proxy_protocol_v2: Boolean to enable / disable support for proxy protocol v2 on Network Load Balancers. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#proxy-protocol) for more information. :param pulumi.Input[int] slow_start: The amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds. - :param pulumi.Input[pulumi.InputType['TargetGroupStickinessArgs']] stickiness: A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + :param pulumi.Input[pulumi.InputType['TargetGroupStickinessArgs']] stickiness: A Stickiness block. Stickiness blocks are documented below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. :param pulumi.Input[str] target_type: The type of target that you must specify when registering targets with this target group. The possible values are `instance` (targets are specified by instance ID) or `ip` (targets are specified by IP address) or `lambda` (targets are specified by lambda arn). @@ -176,7 +176,7 @@ def get(resource_name: str, :param pulumi.Input[str] protocol: The protocol to use for routing traffic to the targets. Should be one of "TCP", "TLS", "UDP", "TCP_UDP", "HTTP" or "HTTPS". Required when `target_type` is `instance` or `ip`. Does not apply when `target_type` is `lambda`. :param pulumi.Input[bool] proxy_protocol_v2: Boolean to enable / disable support for proxy protocol v2 on Network Load Balancers. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#proxy-protocol) for more information. :param pulumi.Input[int] slow_start: The amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds. - :param pulumi.Input[pulumi.InputType['TargetGroupStickinessArgs']] stickiness: A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + :param pulumi.Input[pulumi.InputType['TargetGroupStickinessArgs']] stickiness: A Stickiness block. Stickiness blocks are documented below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. :param pulumi.Input[str] target_type: The type of target that you must specify when registering targets with this target group. The possible values are `instance` (targets are specified by instance ID) or `ip` (targets are specified by IP address) or `lambda` (targets are specified by lambda arn). @@ -308,7 +308,7 @@ def slow_start(self) -> pulumi.Output[Optional[int]]: @pulumi.getter def stickiness(self) -> pulumi.Output['outputs.TargetGroupStickiness']: """ - A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + A Stickiness block. Stickiness blocks are documented below. """ return pulumi.get(self, "stickiness") diff --git a/sdk/python/pulumi_aws/apigateway/usage_plan.py b/sdk/python/pulumi_aws/apigateway/usage_plan.py index 8be1d7134d4..83ea237e25b 100644 --- a/sdk/python/pulumi_aws/apigateway/usage_plan.py +++ b/sdk/python/pulumi_aws/apigateway/usage_plan.py @@ -73,7 +73,7 @@ def __init__(__self__, :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['UsagePlanApiStageArgs']]]] api_stages: The associated API stages of the usage plan. :param pulumi.Input[str] description: The description of a usage plan. :param pulumi.Input[str] name: The name of the usage plan. - :param pulumi.Input[str] product_code: The AWS Markeplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace. + :param pulumi.Input[str] product_code: The AWS Marketplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace. :param pulumi.Input[pulumi.InputType['UsagePlanQuotaSettingsArgs']] quota_settings: The quota settings of the usage plan. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map of resource tags :param pulumi.Input[pulumi.InputType['UsagePlanThrottleSettingsArgs']] throttle_settings: The throttling limits of the usage plan. @@ -132,7 +132,7 @@ def get(resource_name: str, :param pulumi.Input[str] arn: Amazon Resource Name (ARN) :param pulumi.Input[str] description: The description of a usage plan. :param pulumi.Input[str] name: The name of the usage plan. - :param pulumi.Input[str] product_code: The AWS Markeplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace. + :param pulumi.Input[str] product_code: The AWS Marketplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace. :param pulumi.Input[pulumi.InputType['UsagePlanQuotaSettingsArgs']] quota_settings: The quota settings of the usage plan. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map of resource tags :param pulumi.Input[pulumi.InputType['UsagePlanThrottleSettingsArgs']] throttle_settings: The throttling limits of the usage plan. @@ -187,7 +187,7 @@ def name(self) -> pulumi.Output[str]: @pulumi.getter(name="productCode") def product_code(self) -> pulumi.Output[Optional[str]]: """ - The AWS Markeplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace. + The AWS Marketplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace. """ return pulumi.get(self, "product_code") diff --git a/sdk/python/pulumi_aws/applicationloadbalancing/_inputs.py b/sdk/python/pulumi_aws/applicationloadbalancing/_inputs.py index 90b4a6cc8df..91ba44d6080 100644 --- a/sdk/python/pulumi_aws/applicationloadbalancing/_inputs.py +++ b/sdk/python/pulumi_aws/applicationloadbalancing/_inputs.py @@ -1992,8 +1992,8 @@ def __init__(__self__, *, cookie_duration: Optional[pulumi.Input[int]] = None, enabled: Optional[pulumi.Input[bool]] = None): """ - :param pulumi.Input[str] type: The type of sticky sessions. The only current possible value is `lb_cookie`. - :param pulumi.Input[int] cookie_duration: The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + :param pulumi.Input[str] type: The type of sticky sessions. The only current possible values are `lb_cookie` for ALBs and `source_ip` for NLBs. + :param pulumi.Input[int] cookie_duration: Only used when the type is `lb_cookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). :param pulumi.Input[bool] enabled: Indicates whether health checks are enabled. Defaults to true. """ pulumi.set(__self__, "type", type) @@ -2006,7 +2006,7 @@ def __init__(__self__, *, @pulumi.getter def type(self) -> pulumi.Input[str]: """ - The type of sticky sessions. The only current possible value is `lb_cookie`. + The type of sticky sessions. The only current possible values are `lb_cookie` for ALBs and `source_ip` for NLBs. """ return pulumi.get(self, "type") @@ -2018,7 +2018,7 @@ def type(self, value: pulumi.Input[str]): @pulumi.getter(name="cookieDuration") def cookie_duration(self) -> Optional[pulumi.Input[int]]: """ - The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + Only used when the type is `lb_cookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). """ return pulumi.get(self, "cookie_duration") diff --git a/sdk/python/pulumi_aws/applicationloadbalancing/load_balancer.py b/sdk/python/pulumi_aws/applicationloadbalancing/load_balancer.py index 504d26ea09c..3e5b1d2d7a8 100644 --- a/sdk/python/pulumi_aws/applicationloadbalancing/load_balancer.py +++ b/sdk/python/pulumi_aws/applicationloadbalancing/load_balancer.py @@ -56,7 +56,7 @@ def __init__(__self__, internal=False, load_balancer_type="application", security_groups=[aws_security_group["lb_sg"]["id"]], - subnets=[[__item["id"] for __item in aws_subnet["public"]]], + subnets=[__item["id"] for __item in aws_subnet["public"]], enable_deletion_protection=True, access_logs=aws.lb.LoadBalancerAccessLogsArgs( bucket=aws_s3_bucket["lb_logs"]["bucket"], @@ -76,7 +76,7 @@ def __init__(__self__, test = aws.lb.LoadBalancer("test", internal=False, load_balancer_type="network", - subnets=[[__item["id"] for __item in aws_subnet["public"]]], + subnets=[__item["id"] for __item in aws_subnet["public"]], enable_deletion_protection=True, tags={ "Environment": "production", diff --git a/sdk/python/pulumi_aws/applicationloadbalancing/outputs.py b/sdk/python/pulumi_aws/applicationloadbalancing/outputs.py index ecbefc0fdb5..2a2220a4147 100644 --- a/sdk/python/pulumi_aws/applicationloadbalancing/outputs.py +++ b/sdk/python/pulumi_aws/applicationloadbalancing/outputs.py @@ -1624,8 +1624,8 @@ def __init__(__self__, *, cookie_duration: Optional[int] = None, enabled: Optional[bool] = None): """ - :param str type: The type of sticky sessions. The only current possible value is `lb_cookie`. - :param int cookie_duration: The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + :param str type: The type of sticky sessions. The only current possible values are `lb_cookie` for ALBs and `source_ip` for NLBs. + :param int cookie_duration: Only used when the type is `lb_cookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). :param bool enabled: Indicates whether health checks are enabled. Defaults to true. """ pulumi.set(__self__, "type", type) @@ -1638,7 +1638,7 @@ def __init__(__self__, *, @pulumi.getter def type(self) -> str: """ - The type of sticky sessions. The only current possible value is `lb_cookie`. + The type of sticky sessions. The only current possible values are `lb_cookie` for ALBs and `source_ip` for NLBs. """ return pulumi.get(self, "type") @@ -1646,7 +1646,7 @@ def type(self) -> str: @pulumi.getter(name="cookieDuration") def cookie_duration(self) -> Optional[int]: """ - The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + Only used when the type is `lb_cookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). """ return pulumi.get(self, "cookie_duration") diff --git a/sdk/python/pulumi_aws/applicationloadbalancing/target_group.py b/sdk/python/pulumi_aws/applicationloadbalancing/target_group.py index e45115894d0..7987f29bcf1 100644 --- a/sdk/python/pulumi_aws/applicationloadbalancing/target_group.py +++ b/sdk/python/pulumi_aws/applicationloadbalancing/target_group.py @@ -90,7 +90,7 @@ def __init__(__self__, :param pulumi.Input[str] protocol: The protocol to use for routing traffic to the targets. Should be one of "TCP", "TLS", "UDP", "TCP_UDP", "HTTP" or "HTTPS". Required when `target_type` is `instance` or `ip`. Does not apply when `target_type` is `lambda`. :param pulumi.Input[bool] proxy_protocol_v2: Boolean to enable / disable support for proxy protocol v2 on Network Load Balancers. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#proxy-protocol) for more information. :param pulumi.Input[int] slow_start: The amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds. - :param pulumi.Input[pulumi.InputType['TargetGroupStickinessArgs']] stickiness: A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + :param pulumi.Input[pulumi.InputType['TargetGroupStickinessArgs']] stickiness: A Stickiness block. Stickiness blocks are documented below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. :param pulumi.Input[str] target_type: The type of target that you must specify when registering targets with this target group. The possible values are `instance` (targets are specified by instance ID) or `ip` (targets are specified by IP address) or `lambda` (targets are specified by lambda arn). @@ -179,7 +179,7 @@ def get(resource_name: str, :param pulumi.Input[str] protocol: The protocol to use for routing traffic to the targets. Should be one of "TCP", "TLS", "UDP", "TCP_UDP", "HTTP" or "HTTPS". Required when `target_type` is `instance` or `ip`. Does not apply when `target_type` is `lambda`. :param pulumi.Input[bool] proxy_protocol_v2: Boolean to enable / disable support for proxy protocol v2 on Network Load Balancers. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#proxy-protocol) for more information. :param pulumi.Input[int] slow_start: The amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds. - :param pulumi.Input[pulumi.InputType['TargetGroupStickinessArgs']] stickiness: A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + :param pulumi.Input[pulumi.InputType['TargetGroupStickinessArgs']] stickiness: A Stickiness block. Stickiness blocks are documented below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. :param pulumi.Input[str] target_type: The type of target that you must specify when registering targets with this target group. The possible values are `instance` (targets are specified by instance ID) or `ip` (targets are specified by IP address) or `lambda` (targets are specified by lambda arn). @@ -311,7 +311,7 @@ def slow_start(self) -> pulumi.Output[Optional[int]]: @pulumi.getter def stickiness(self) -> pulumi.Output['outputs.TargetGroupStickiness']: """ - A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + A Stickiness block. Stickiness blocks are documented below. """ return pulumi.get(self, "stickiness") diff --git a/sdk/python/pulumi_aws/appmesh/_inputs.py b/sdk/python/pulumi_aws/appmesh/_inputs.py index ccda99c8537..1cbfa3579d3 100644 --- a/sdk/python/pulumi_aws/appmesh/_inputs.py +++ b/sdk/python/pulumi_aws/appmesh/_inputs.py @@ -21,6 +21,9 @@ 'RouteSpecGrpcRouteMatchMetadataMatchRangeArgs', 'RouteSpecGrpcRouteRetryPolicyArgs', 'RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs', + 'RouteSpecGrpcRouteTimeoutArgs', + 'RouteSpecGrpcRouteTimeoutIdleArgs', + 'RouteSpecGrpcRouteTimeoutPerRequestArgs', 'RouteSpecHttp2RouteArgs', 'RouteSpecHttp2RouteActionArgs', 'RouteSpecHttp2RouteActionWeightedTargetArgs', @@ -30,6 +33,9 @@ 'RouteSpecHttp2RouteMatchHeaderMatchRangeArgs', 'RouteSpecHttp2RouteRetryPolicyArgs', 'RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs', + 'RouteSpecHttp2RouteTimeoutArgs', + 'RouteSpecHttp2RouteTimeoutIdleArgs', + 'RouteSpecHttp2RouteTimeoutPerRequestArgs', 'RouteSpecHttpRouteArgs', 'RouteSpecHttpRouteActionArgs', 'RouteSpecHttpRouteActionWeightedTargetArgs', @@ -39,9 +45,14 @@ 'RouteSpecHttpRouteMatchHeaderMatchRangeArgs', 'RouteSpecHttpRouteRetryPolicyArgs', 'RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs', + 'RouteSpecHttpRouteTimeoutArgs', + 'RouteSpecHttpRouteTimeoutIdleArgs', + 'RouteSpecHttpRouteTimeoutPerRequestArgs', 'RouteSpecTcpRouteArgs', 'RouteSpecTcpRouteActionArgs', 'RouteSpecTcpRouteActionWeightedTargetArgs', + 'RouteSpecTcpRouteTimeoutArgs', + 'RouteSpecTcpRouteTimeoutIdleArgs', 'VirtualNodeSpecArgs', 'VirtualNodeSpecBackendArgs', 'VirtualNodeSpecBackendDefaultsArgs', @@ -61,6 +72,18 @@ 'VirtualNodeSpecListenerArgs', 'VirtualNodeSpecListenerHealthCheckArgs', 'VirtualNodeSpecListenerPortMappingArgs', + 'VirtualNodeSpecListenerTimeoutArgs', + 'VirtualNodeSpecListenerTimeoutGrpcArgs', + 'VirtualNodeSpecListenerTimeoutGrpcIdleArgs', + 'VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs', + 'VirtualNodeSpecListenerTimeoutHttp2Args', + 'VirtualNodeSpecListenerTimeoutHttp2IdleArgs', + 'VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs', + 'VirtualNodeSpecListenerTimeoutHttpArgs', + 'VirtualNodeSpecListenerTimeoutHttpIdleArgs', + 'VirtualNodeSpecListenerTimeoutHttpPerRequestArgs', + 'VirtualNodeSpecListenerTimeoutTcpArgs', + 'VirtualNodeSpecListenerTimeoutTcpIdleArgs', 'VirtualNodeSpecListenerTlsArgs', 'VirtualNodeSpecListenerTlsCertificateArgs', 'VirtualNodeSpecListenerTlsCertificateAcmArgs', @@ -222,16 +245,20 @@ class RouteSpecGrpcRouteArgs: def __init__(__self__, *, action: pulumi.Input['RouteSpecGrpcRouteActionArgs'], match: pulumi.Input['RouteSpecGrpcRouteMatchArgs'], - retry_policy: Optional[pulumi.Input['RouteSpecGrpcRouteRetryPolicyArgs']] = None): + retry_policy: Optional[pulumi.Input['RouteSpecGrpcRouteRetryPolicyArgs']] = None, + timeout: Optional[pulumi.Input['RouteSpecGrpcRouteTimeoutArgs']] = None): """ :param pulumi.Input['RouteSpecGrpcRouteActionArgs'] action: The action to take if a match is determined. :param pulumi.Input['RouteSpecGrpcRouteMatchArgs'] match: The criteria for determining an gRPC request match. :param pulumi.Input['RouteSpecGrpcRouteRetryPolicyArgs'] retry_policy: The retry policy. + :param pulumi.Input['RouteSpecGrpcRouteTimeoutArgs'] timeout: The types of timeouts. """ pulumi.set(__self__, "action", action) pulumi.set(__self__, "match", match) if retry_policy is not None: pulumi.set(__self__, "retry_policy", retry_policy) + if timeout is not None: + pulumi.set(__self__, "timeout", timeout) @property @pulumi.getter @@ -269,6 +296,18 @@ def retry_policy(self) -> Optional[pulumi.Input['RouteSpecGrpcRouteRetryPolicyAr def retry_policy(self, value: Optional[pulumi.Input['RouteSpecGrpcRouteRetryPolicyArgs']]): pulumi.set(self, "retry_policy", value) + @property + @pulumi.getter + def timeout(self) -> Optional[pulumi.Input['RouteSpecGrpcRouteTimeoutArgs']]: + """ + The types of timeouts. + """ + return pulumi.get(self, "timeout") + + @timeout.setter + def timeout(self, value: Optional[pulumi.Input['RouteSpecGrpcRouteTimeoutArgs']]): + pulumi.set(self, "timeout", value) + @pulumi.input_type class RouteSpecGrpcRouteActionArgs: @@ -336,16 +375,21 @@ class RouteSpecGrpcRouteMatchArgs: def __init__(__self__, *, metadatas: Optional[pulumi.Input[Sequence[pulumi.Input['RouteSpecGrpcRouteMatchMetadataArgs']]]] = None, method_name: Optional[pulumi.Input[str]] = None, + prefix: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[Sequence[pulumi.Input['RouteSpecGrpcRouteMatchMetadataArgs']]] metadatas: The data to match from the gRPC request. :param pulumi.Input[str] method_name: The method name to match from the request. If you specify a name, you must also specify a `service_name`. + :param pulumi.Input[str] prefix: The value sent by the client must begin with the specified characters. + This parameter must always start with /, which by itself matches all requests to the virtual router service name. :param pulumi.Input[str] service_name: The fully qualified domain name for the service to match from the request. """ if metadatas is not None: pulumi.set(__self__, "metadatas", metadatas) if method_name is not None: pulumi.set(__self__, "method_name", method_name) + if prefix is not None: + pulumi.set(__self__, "prefix", prefix) if service_name is not None: pulumi.set(__self__, "service_name", service_name) @@ -373,6 +417,19 @@ def method_name(self) -> Optional[pulumi.Input[str]]: def method_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "method_name", value) + @property + @pulumi.getter + def prefix(self) -> Optional[pulumi.Input[str]]: + """ + The value sent by the client must begin with the specified characters. + 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="serviceName") def service_name(self) -> Optional[pulumi.Input[str]]: @@ -694,21 +751,138 @@ def value(self, value: pulumi.Input[int]): pulumi.set(self, "value", value) +@pulumi.input_type +class RouteSpecGrpcRouteTimeoutArgs: + def __init__(__self__, *, + idle: Optional[pulumi.Input['RouteSpecGrpcRouteTimeoutIdleArgs']] = None, + per_request: Optional[pulumi.Input['RouteSpecGrpcRouteTimeoutPerRequestArgs']] = None): + """ + :param pulumi.Input['RouteSpecGrpcRouteTimeoutIdleArgs'] idle: The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + :param pulumi.Input['RouteSpecGrpcRouteTimeoutPerRequestArgs'] per_request: The per request timeout. + """ + if idle is not None: + pulumi.set(__self__, "idle", idle) + if per_request is not None: + pulumi.set(__self__, "per_request", per_request) + + @property + @pulumi.getter + def idle(self) -> Optional[pulumi.Input['RouteSpecGrpcRouteTimeoutIdleArgs']]: + """ + The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + """ + return pulumi.get(self, "idle") + + @idle.setter + def idle(self, value: Optional[pulumi.Input['RouteSpecGrpcRouteTimeoutIdleArgs']]): + pulumi.set(self, "idle", value) + + @property + @pulumi.getter(name="perRequest") + def per_request(self) -> Optional[pulumi.Input['RouteSpecGrpcRouteTimeoutPerRequestArgs']]: + """ + The per request timeout. + """ + return pulumi.get(self, "per_request") + + @per_request.setter + def per_request(self, value: Optional[pulumi.Input['RouteSpecGrpcRouteTimeoutPerRequestArgs']]): + pulumi.set(self, "per_request", value) + + +@pulumi.input_type +class RouteSpecGrpcRouteTimeoutIdleArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + """ + :param pulumi.Input[str] unit: The unit of time. Valid values: `ms`, `s`. + :param pulumi.Input[int] value: The number of time units. Minimum value of `0`. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + """ + The unit of time. Valid values: `ms`, `s`. + """ + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + """ + The number of time units. Minimum value of `0`. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class RouteSpecGrpcRouteTimeoutPerRequestArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + """ + :param pulumi.Input[str] unit: The unit of time. Valid values: `ms`, `s`. + :param pulumi.Input[int] value: The number of time units. Minimum value of `0`. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + """ + The unit of time. Valid values: `ms`, `s`. + """ + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + """ + The number of time units. Minimum value of `0`. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + @pulumi.input_type class RouteSpecHttp2RouteArgs: def __init__(__self__, *, action: pulumi.Input['RouteSpecHttp2RouteActionArgs'], match: pulumi.Input['RouteSpecHttp2RouteMatchArgs'], - retry_policy: Optional[pulumi.Input['RouteSpecHttp2RouteRetryPolicyArgs']] = None): + retry_policy: Optional[pulumi.Input['RouteSpecHttp2RouteRetryPolicyArgs']] = None, + timeout: Optional[pulumi.Input['RouteSpecHttp2RouteTimeoutArgs']] = None): """ :param pulumi.Input['RouteSpecHttp2RouteActionArgs'] action: The action to take if a match is determined. :param pulumi.Input['RouteSpecHttp2RouteMatchArgs'] match: The criteria for determining an gRPC request match. :param pulumi.Input['RouteSpecHttp2RouteRetryPolicyArgs'] retry_policy: The retry policy. + :param pulumi.Input['RouteSpecHttp2RouteTimeoutArgs'] timeout: The types of timeouts. """ pulumi.set(__self__, "action", action) pulumi.set(__self__, "match", match) if retry_policy is not None: pulumi.set(__self__, "retry_policy", retry_policy) + if timeout is not None: + pulumi.set(__self__, "timeout", timeout) @property @pulumi.getter @@ -746,6 +920,18 @@ def retry_policy(self) -> Optional[pulumi.Input['RouteSpecHttp2RouteRetryPolicyA def retry_policy(self, value: Optional[pulumi.Input['RouteSpecHttp2RouteRetryPolicyArgs']]): pulumi.set(self, "retry_policy", value) + @property + @pulumi.getter + def timeout(self) -> Optional[pulumi.Input['RouteSpecHttp2RouteTimeoutArgs']]: + """ + The types of timeouts. + """ + return pulumi.get(self, "timeout") + + @timeout.setter + def timeout(self, value: Optional[pulumi.Input['RouteSpecHttp2RouteTimeoutArgs']]): + pulumi.set(self, "timeout", value) + @pulumi.input_type class RouteSpecHttp2RouteActionArgs: @@ -1170,21 +1356,138 @@ def value(self, value: pulumi.Input[int]): pulumi.set(self, "value", value) +@pulumi.input_type +class RouteSpecHttp2RouteTimeoutArgs: + def __init__(__self__, *, + idle: Optional[pulumi.Input['RouteSpecHttp2RouteTimeoutIdleArgs']] = None, + per_request: Optional[pulumi.Input['RouteSpecHttp2RouteTimeoutPerRequestArgs']] = None): + """ + :param pulumi.Input['RouteSpecHttp2RouteTimeoutIdleArgs'] idle: The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + :param pulumi.Input['RouteSpecHttp2RouteTimeoutPerRequestArgs'] per_request: The per request timeout. + """ + if idle is not None: + pulumi.set(__self__, "idle", idle) + if per_request is not None: + pulumi.set(__self__, "per_request", per_request) + + @property + @pulumi.getter + def idle(self) -> Optional[pulumi.Input['RouteSpecHttp2RouteTimeoutIdleArgs']]: + """ + The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + """ + return pulumi.get(self, "idle") + + @idle.setter + def idle(self, value: Optional[pulumi.Input['RouteSpecHttp2RouteTimeoutIdleArgs']]): + pulumi.set(self, "idle", value) + + @property + @pulumi.getter(name="perRequest") + def per_request(self) -> Optional[pulumi.Input['RouteSpecHttp2RouteTimeoutPerRequestArgs']]: + """ + The per request timeout. + """ + return pulumi.get(self, "per_request") + + @per_request.setter + def per_request(self, value: Optional[pulumi.Input['RouteSpecHttp2RouteTimeoutPerRequestArgs']]): + pulumi.set(self, "per_request", value) + + +@pulumi.input_type +class RouteSpecHttp2RouteTimeoutIdleArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + """ + :param pulumi.Input[str] unit: The unit of time. Valid values: `ms`, `s`. + :param pulumi.Input[int] value: The number of time units. Minimum value of `0`. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + """ + The unit of time. Valid values: `ms`, `s`. + """ + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + """ + The number of time units. Minimum value of `0`. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class RouteSpecHttp2RouteTimeoutPerRequestArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + """ + :param pulumi.Input[str] unit: The unit of time. Valid values: `ms`, `s`. + :param pulumi.Input[int] value: The number of time units. Minimum value of `0`. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + """ + The unit of time. Valid values: `ms`, `s`. + """ + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + """ + The number of time units. Minimum value of `0`. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + @pulumi.input_type class RouteSpecHttpRouteArgs: def __init__(__self__, *, action: pulumi.Input['RouteSpecHttpRouteActionArgs'], match: pulumi.Input['RouteSpecHttpRouteMatchArgs'], - retry_policy: Optional[pulumi.Input['RouteSpecHttpRouteRetryPolicyArgs']] = None): + retry_policy: Optional[pulumi.Input['RouteSpecHttpRouteRetryPolicyArgs']] = None, + timeout: Optional[pulumi.Input['RouteSpecHttpRouteTimeoutArgs']] = None): """ :param pulumi.Input['RouteSpecHttpRouteActionArgs'] action: The action to take if a match is determined. :param pulumi.Input['RouteSpecHttpRouteMatchArgs'] match: The criteria for determining an HTTP request match. :param pulumi.Input['RouteSpecHttpRouteRetryPolicyArgs'] retry_policy: The retry policy. + :param pulumi.Input['RouteSpecHttpRouteTimeoutArgs'] timeout: The types of timeouts. """ pulumi.set(__self__, "action", action) pulumi.set(__self__, "match", match) if retry_policy is not None: pulumi.set(__self__, "retry_policy", retry_policy) + if timeout is not None: + pulumi.set(__self__, "timeout", timeout) @property @pulumi.getter @@ -1222,6 +1525,18 @@ def retry_policy(self) -> Optional[pulumi.Input['RouteSpecHttpRouteRetryPolicyAr def retry_policy(self, value: Optional[pulumi.Input['RouteSpecHttpRouteRetryPolicyArgs']]): pulumi.set(self, "retry_policy", value) + @property + @pulumi.getter + def timeout(self) -> Optional[pulumi.Input['RouteSpecHttpRouteTimeoutArgs']]: + """ + The types of timeouts. + """ + return pulumi.get(self, "timeout") + + @timeout.setter + def timeout(self, value: Optional[pulumi.Input['RouteSpecHttpRouteTimeoutArgs']]): + pulumi.set(self, "timeout", value) + @pulumi.input_type class RouteSpecHttpRouteActionArgs: @@ -1647,88 +1962,277 @@ def value(self, value: pulumi.Input[int]): @pulumi.input_type -class RouteSpecTcpRouteArgs: +class RouteSpecHttpRouteTimeoutArgs: def __init__(__self__, *, - action: pulumi.Input['RouteSpecTcpRouteActionArgs']): + idle: Optional[pulumi.Input['RouteSpecHttpRouteTimeoutIdleArgs']] = None, + per_request: Optional[pulumi.Input['RouteSpecHttpRouteTimeoutPerRequestArgs']] = None): """ - :param pulumi.Input['RouteSpecTcpRouteActionArgs'] action: The action to take if a match is determined. + :param pulumi.Input['RouteSpecHttpRouteTimeoutIdleArgs'] idle: The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + :param pulumi.Input['RouteSpecHttpRouteTimeoutPerRequestArgs'] per_request: The per request timeout. """ - pulumi.set(__self__, "action", action) + if idle is not None: + pulumi.set(__self__, "idle", idle) + if per_request is not None: + pulumi.set(__self__, "per_request", per_request) @property @pulumi.getter - def action(self) -> pulumi.Input['RouteSpecTcpRouteActionArgs']: + def idle(self) -> Optional[pulumi.Input['RouteSpecHttpRouteTimeoutIdleArgs']]: """ - The action to take if a match is determined. + The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. """ - return pulumi.get(self, "action") - - @action.setter - def action(self, value: pulumi.Input['RouteSpecTcpRouteActionArgs']): - pulumi.set(self, "action", value) + return pulumi.get(self, "idle") - -@pulumi.input_type -class RouteSpecTcpRouteActionArgs: - def __init__(__self__, *, - weighted_targets: pulumi.Input[Sequence[pulumi.Input['RouteSpecTcpRouteActionWeightedTargetArgs']]]): - """ - :param pulumi.Input[Sequence[pulumi.Input['RouteSpecTcpRouteActionWeightedTargetArgs']]] weighted_targets: The 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. - """ - pulumi.set(__self__, "weighted_targets", weighted_targets) + @idle.setter + def idle(self, value: Optional[pulumi.Input['RouteSpecHttpRouteTimeoutIdleArgs']]): + pulumi.set(self, "idle", value) @property - @pulumi.getter(name="weightedTargets") - def weighted_targets(self) -> pulumi.Input[Sequence[pulumi.Input['RouteSpecTcpRouteActionWeightedTargetArgs']]]: + @pulumi.getter(name="perRequest") + def per_request(self) -> Optional[pulumi.Input['RouteSpecHttpRouteTimeoutPerRequestArgs']]: """ - The 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. + The per request timeout. """ - return pulumi.get(self, "weighted_targets") + return pulumi.get(self, "per_request") - @weighted_targets.setter - def weighted_targets(self, value: pulumi.Input[Sequence[pulumi.Input['RouteSpecTcpRouteActionWeightedTargetArgs']]]): - pulumi.set(self, "weighted_targets", value) + @per_request.setter + def per_request(self, value: Optional[pulumi.Input['RouteSpecHttpRouteTimeoutPerRequestArgs']]): + pulumi.set(self, "per_request", value) @pulumi.input_type -class RouteSpecTcpRouteActionWeightedTargetArgs: +class RouteSpecHttpRouteTimeoutIdleArgs: def __init__(__self__, *, - virtual_node: pulumi.Input[str], - weight: pulumi.Input[int]): + unit: pulumi.Input[str], + value: pulumi.Input[int]): """ - :param pulumi.Input[str] virtual_node: The virtual node to associate with the weighted target. - :param pulumi.Input[int] weight: The relative weight of the weighted target. An integer between 0 and 100. + :param pulumi.Input[str] unit: The unit of time. Valid values: `ms`, `s`. + :param pulumi.Input[int] value: The number of time units. Minimum value of `0`. """ - pulumi.set(__self__, "virtual_node", virtual_node) - pulumi.set(__self__, "weight", weight) + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) @property - @pulumi.getter(name="virtualNode") - def virtual_node(self) -> pulumi.Input[str]: + @pulumi.getter + def unit(self) -> pulumi.Input[str]: """ - The virtual node to associate with the weighted target. + The unit of time. Valid values: `ms`, `s`. """ - return pulumi.get(self, "virtual_node") + return pulumi.get(self, "unit") - @virtual_node.setter - def virtual_node(self, value: pulumi.Input[str]): - pulumi.set(self, "virtual_node", value) + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) @property @pulumi.getter - def weight(self) -> pulumi.Input[int]: + def value(self) -> pulumi.Input[int]: """ - The relative weight of the weighted target. An integer between 0 and 100. + The number of time units. Minimum value of `0`. """ - return pulumi.get(self, "weight") + return pulumi.get(self, "value") - @weight.setter + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class RouteSpecHttpRouteTimeoutPerRequestArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + """ + :param pulumi.Input[str] unit: The unit of time. Valid values: `ms`, `s`. + :param pulumi.Input[int] value: The number of time units. Minimum value of `0`. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + """ + The unit of time. Valid values: `ms`, `s`. + """ + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + """ + The number of time units. Minimum value of `0`. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class RouteSpecTcpRouteArgs: + def __init__(__self__, *, + action: pulumi.Input['RouteSpecTcpRouteActionArgs'], + timeout: Optional[pulumi.Input['RouteSpecTcpRouteTimeoutArgs']] = None): + """ + :param pulumi.Input['RouteSpecTcpRouteActionArgs'] action: The action to take if a match is determined. + :param pulumi.Input['RouteSpecTcpRouteTimeoutArgs'] timeout: The types of timeouts. + """ + pulumi.set(__self__, "action", action) + if timeout is not None: + pulumi.set(__self__, "timeout", timeout) + + @property + @pulumi.getter + def action(self) -> pulumi.Input['RouteSpecTcpRouteActionArgs']: + """ + The action to take if a match is determined. + """ + return pulumi.get(self, "action") + + @action.setter + def action(self, value: pulumi.Input['RouteSpecTcpRouteActionArgs']): + pulumi.set(self, "action", value) + + @property + @pulumi.getter + def timeout(self) -> Optional[pulumi.Input['RouteSpecTcpRouteTimeoutArgs']]: + """ + The types of timeouts. + """ + return pulumi.get(self, "timeout") + + @timeout.setter + def timeout(self, value: Optional[pulumi.Input['RouteSpecTcpRouteTimeoutArgs']]): + pulumi.set(self, "timeout", value) + + +@pulumi.input_type +class RouteSpecTcpRouteActionArgs: + def __init__(__self__, *, + weighted_targets: pulumi.Input[Sequence[pulumi.Input['RouteSpecTcpRouteActionWeightedTargetArgs']]]): + """ + :param pulumi.Input[Sequence[pulumi.Input['RouteSpecTcpRouteActionWeightedTargetArgs']]] weighted_targets: The 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. + """ + pulumi.set(__self__, "weighted_targets", weighted_targets) + + @property + @pulumi.getter(name="weightedTargets") + def weighted_targets(self) -> pulumi.Input[Sequence[pulumi.Input['RouteSpecTcpRouteActionWeightedTargetArgs']]]: + """ + The 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. + """ + return pulumi.get(self, "weighted_targets") + + @weighted_targets.setter + def weighted_targets(self, value: pulumi.Input[Sequence[pulumi.Input['RouteSpecTcpRouteActionWeightedTargetArgs']]]): + pulumi.set(self, "weighted_targets", value) + + +@pulumi.input_type +class RouteSpecTcpRouteActionWeightedTargetArgs: + def __init__(__self__, *, + virtual_node: pulumi.Input[str], + weight: pulumi.Input[int]): + """ + :param pulumi.Input[str] virtual_node: The virtual node to associate with the weighted target. + :param pulumi.Input[int] weight: The relative weight of the weighted target. An integer between 0 and 100. + """ + pulumi.set(__self__, "virtual_node", virtual_node) + pulumi.set(__self__, "weight", weight) + + @property + @pulumi.getter(name="virtualNode") + def virtual_node(self) -> pulumi.Input[str]: + """ + The virtual node to associate with the weighted target. + """ + return pulumi.get(self, "virtual_node") + + @virtual_node.setter + def virtual_node(self, value: pulumi.Input[str]): + pulumi.set(self, "virtual_node", value) + + @property + @pulumi.getter + def weight(self) -> pulumi.Input[int]: + """ + The relative weight of the weighted target. An integer between 0 and 100. + """ + return pulumi.get(self, "weight") + + @weight.setter def weight(self, value: pulumi.Input[int]): pulumi.set(self, "weight", value) +@pulumi.input_type +class RouteSpecTcpRouteTimeoutArgs: + def __init__(__self__, *, + idle: Optional[pulumi.Input['RouteSpecTcpRouteTimeoutIdleArgs']] = None): + """ + :param pulumi.Input['RouteSpecTcpRouteTimeoutIdleArgs'] idle: The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + """ + if idle is not None: + pulumi.set(__self__, "idle", idle) + + @property + @pulumi.getter + def idle(self) -> Optional[pulumi.Input['RouteSpecTcpRouteTimeoutIdleArgs']]: + """ + The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + """ + return pulumi.get(self, "idle") + + @idle.setter + def idle(self, value: Optional[pulumi.Input['RouteSpecTcpRouteTimeoutIdleArgs']]): + pulumi.set(self, "idle", value) + + +@pulumi.input_type +class RouteSpecTcpRouteTimeoutIdleArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + """ + :param pulumi.Input[str] unit: The unit of time. Valid values: `ms`, `s`. + :param pulumi.Input[int] value: The number of time units. Minimum value of `0`. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + """ + The unit of time. Valid values: `ms`, `s`. + """ + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + """ + The number of time units. Minimum value of `0`. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + @pulumi.input_type class VirtualNodeSpecArgs: def __init__(__self__, *, @@ -1962,7 +2466,7 @@ def __init__(__self__, *, acm: Optional[pulumi.Input['VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs']] = None, file: Optional[pulumi.Input['VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs']] = None): """ - :param pulumi.Input['VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs'] acm: The TLS validation context trust for an AWS Certicate Manager (ACM) certificate. + :param pulumi.Input['VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs'] acm: The TLS validation context trust for an AWS Certificate Manager (ACM) certificate. :param pulumi.Input['VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs'] file: The TLS validation context trust for a local file. """ if acm is not None: @@ -1974,7 +2478,7 @@ def __init__(__self__, *, @pulumi.getter def acm(self) -> Optional[pulumi.Input['VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs']]: """ - The TLS validation context trust for an AWS Certicate Manager (ACM) certificate. + The TLS validation context trust for an AWS Certificate Manager (ACM) certificate. """ return pulumi.get(self, "acm") @@ -2178,7 +2682,7 @@ def __init__(__self__, *, acm: Optional[pulumi.Input['VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs']] = None, file: Optional[pulumi.Input['VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs']] = None): """ - :param pulumi.Input['VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs'] acm: The TLS validation context trust for an AWS Certicate Manager (ACM) certificate. + :param pulumi.Input['VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs'] acm: The TLS validation context trust for an AWS Certificate Manager (ACM) certificate. :param pulumi.Input['VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs'] file: The TLS validation context trust for a local file. """ if acm is not None: @@ -2190,7 +2694,7 @@ def __init__(__self__, *, @pulumi.getter def acm(self) -> Optional[pulumi.Input['VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs']]: """ - The TLS validation context trust for an AWS Certicate Manager (ACM) certificate. + The TLS validation context trust for an AWS Certificate Manager (ACM) certificate. """ return pulumi.get(self, "acm") @@ -2260,15 +2764,19 @@ class VirtualNodeSpecListenerArgs: def __init__(__self__, *, port_mapping: pulumi.Input['VirtualNodeSpecListenerPortMappingArgs'], health_check: Optional[pulumi.Input['VirtualNodeSpecListenerHealthCheckArgs']] = None, + timeout: Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutArgs']] = None, tls: Optional[pulumi.Input['VirtualNodeSpecListenerTlsArgs']] = None): """ :param pulumi.Input['VirtualNodeSpecListenerPortMappingArgs'] port_mapping: The port mapping information for the listener. :param pulumi.Input['VirtualNodeSpecListenerHealthCheckArgs'] health_check: The health check information for the listener. + :param pulumi.Input['VirtualNodeSpecListenerTimeoutArgs'] timeout: Timeouts for different protocols. :param pulumi.Input['VirtualNodeSpecListenerTlsArgs'] tls: The Transport Layer Security (TLS) properties for the listener """ pulumi.set(__self__, "port_mapping", port_mapping) if health_check is not None: pulumi.set(__self__, "health_check", health_check) + if timeout is not None: + pulumi.set(__self__, "timeout", timeout) if tls is not None: pulumi.set(__self__, "tls", tls) @@ -2296,6 +2804,18 @@ def health_check(self) -> Optional[pulumi.Input['VirtualNodeSpecListenerHealthCh def health_check(self, value: Optional[pulumi.Input['VirtualNodeSpecListenerHealthCheckArgs']]): pulumi.set(self, "health_check", value) + @property + @pulumi.getter + def timeout(self) -> Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutArgs']]: + """ + Timeouts for different protocols. + """ + return pulumi.get(self, "timeout") + + @timeout.setter + def timeout(self, value: Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutArgs']]): + pulumi.set(self, "timeout", value) + @property @pulumi.getter def tls(self) -> Optional[pulumi.Input['VirtualNodeSpecListenerTlsArgs']]: @@ -2460,6 +2980,476 @@ def protocol(self, value: pulumi.Input[str]): pulumi.set(self, "protocol", value) +@pulumi.input_type +class VirtualNodeSpecListenerTimeoutArgs: + def __init__(__self__, *, + grpc: Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutGrpcArgs']] = None, + http: Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutHttpArgs']] = None, + http2: Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutHttp2Args']] = None, + tcp: Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutTcpArgs']] = None): + """ + :param pulumi.Input['VirtualNodeSpecListenerTimeoutGrpcArgs'] grpc: Timeouts for gRPC listeners. + :param pulumi.Input['VirtualNodeSpecListenerTimeoutHttpArgs'] http: Timeouts for HTTP listeners. + :param pulumi.Input['VirtualNodeSpecListenerTimeoutHttp2Args'] http2: Timeouts for HTTP2 listeners. + :param pulumi.Input['VirtualNodeSpecListenerTimeoutTcpArgs'] tcp: Timeouts for TCP listeners. + """ + if grpc is not None: + pulumi.set(__self__, "grpc", grpc) + if http is not None: + pulumi.set(__self__, "http", http) + if http2 is not None: + pulumi.set(__self__, "http2", http2) + if tcp is not None: + pulumi.set(__self__, "tcp", tcp) + + @property + @pulumi.getter + def grpc(self) -> Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutGrpcArgs']]: + """ + Timeouts for gRPC listeners. + """ + return pulumi.get(self, "grpc") + + @grpc.setter + def grpc(self, value: Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutGrpcArgs']]): + pulumi.set(self, "grpc", value) + + @property + @pulumi.getter + def http(self) -> Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutHttpArgs']]: + """ + Timeouts for HTTP listeners. + """ + return pulumi.get(self, "http") + + @http.setter + def http(self, value: Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutHttpArgs']]): + pulumi.set(self, "http", value) + + @property + @pulumi.getter + def http2(self) -> Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutHttp2Args']]: + """ + Timeouts for HTTP2 listeners. + """ + return pulumi.get(self, "http2") + + @http2.setter + def http2(self, value: Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutHttp2Args']]): + pulumi.set(self, "http2", value) + + @property + @pulumi.getter + def tcp(self) -> Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutTcpArgs']]: + """ + Timeouts for TCP listeners. + """ + return pulumi.get(self, "tcp") + + @tcp.setter + def tcp(self, value: Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutTcpArgs']]): + pulumi.set(self, "tcp", value) + + +@pulumi.input_type +class VirtualNodeSpecListenerTimeoutGrpcArgs: + def __init__(__self__, *, + idle: Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutGrpcIdleArgs']] = None, + per_request: Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs']] = None): + """ + :param pulumi.Input['VirtualNodeSpecListenerTimeoutGrpcIdleArgs'] idle: The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + :param pulumi.Input['VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs'] per_request: The per request timeout. + """ + if idle is not None: + pulumi.set(__self__, "idle", idle) + if per_request is not None: + pulumi.set(__self__, "per_request", per_request) + + @property + @pulumi.getter + def idle(self) -> Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutGrpcIdleArgs']]: + """ + The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + """ + return pulumi.get(self, "idle") + + @idle.setter + def idle(self, value: Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutGrpcIdleArgs']]): + pulumi.set(self, "idle", value) + + @property + @pulumi.getter(name="perRequest") + def per_request(self) -> Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs']]: + """ + The per request timeout. + """ + return pulumi.get(self, "per_request") + + @per_request.setter + def per_request(self, value: Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs']]): + pulumi.set(self, "per_request", value) + + +@pulumi.input_type +class VirtualNodeSpecListenerTimeoutGrpcIdleArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + """ + :param pulumi.Input[str] unit: The unit of time. Valid values: `ms`, `s`. + :param pulumi.Input[int] value: The number of time units. Minimum value of `0`. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + """ + The unit of time. Valid values: `ms`, `s`. + """ + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + """ + The number of time units. Minimum value of `0`. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + """ + :param pulumi.Input[str] unit: The unit of time. Valid values: `ms`, `s`. + :param pulumi.Input[int] value: The number of time units. Minimum value of `0`. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + """ + The unit of time. Valid values: `ms`, `s`. + """ + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + """ + The number of time units. Minimum value of `0`. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class VirtualNodeSpecListenerTimeoutHttp2Args: + def __init__(__self__, *, + idle: Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutHttp2IdleArgs']] = None, + per_request: Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs']] = None): + """ + :param pulumi.Input['VirtualNodeSpecListenerTimeoutHttp2IdleArgs'] idle: The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + :param pulumi.Input['VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs'] per_request: The per request timeout. + """ + if idle is not None: + pulumi.set(__self__, "idle", idle) + if per_request is not None: + pulumi.set(__self__, "per_request", per_request) + + @property + @pulumi.getter + def idle(self) -> Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutHttp2IdleArgs']]: + """ + The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + """ + return pulumi.get(self, "idle") + + @idle.setter + def idle(self, value: Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutHttp2IdleArgs']]): + pulumi.set(self, "idle", value) + + @property + @pulumi.getter(name="perRequest") + def per_request(self) -> Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs']]: + """ + The per request timeout. + """ + return pulumi.get(self, "per_request") + + @per_request.setter + def per_request(self, value: Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs']]): + pulumi.set(self, "per_request", value) + + +@pulumi.input_type +class VirtualNodeSpecListenerTimeoutHttp2IdleArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + """ + :param pulumi.Input[str] unit: The unit of time. Valid values: `ms`, `s`. + :param pulumi.Input[int] value: The number of time units. Minimum value of `0`. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + """ + The unit of time. Valid values: `ms`, `s`. + """ + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + """ + The number of time units. Minimum value of `0`. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + """ + :param pulumi.Input[str] unit: The unit of time. Valid values: `ms`, `s`. + :param pulumi.Input[int] value: The number of time units. Minimum value of `0`. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + """ + The unit of time. Valid values: `ms`, `s`. + """ + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + """ + The number of time units. Minimum value of `0`. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class VirtualNodeSpecListenerTimeoutHttpArgs: + def __init__(__self__, *, + idle: Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutHttpIdleArgs']] = None, + per_request: Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutHttpPerRequestArgs']] = None): + """ + :param pulumi.Input['VirtualNodeSpecListenerTimeoutHttpIdleArgs'] idle: The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + :param pulumi.Input['VirtualNodeSpecListenerTimeoutHttpPerRequestArgs'] per_request: The per request timeout. + """ + if idle is not None: + pulumi.set(__self__, "idle", idle) + if per_request is not None: + pulumi.set(__self__, "per_request", per_request) + + @property + @pulumi.getter + def idle(self) -> Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutHttpIdleArgs']]: + """ + The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + """ + return pulumi.get(self, "idle") + + @idle.setter + def idle(self, value: Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutHttpIdleArgs']]): + pulumi.set(self, "idle", value) + + @property + @pulumi.getter(name="perRequest") + def per_request(self) -> Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutHttpPerRequestArgs']]: + """ + The per request timeout. + """ + return pulumi.get(self, "per_request") + + @per_request.setter + def per_request(self, value: Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutHttpPerRequestArgs']]): + pulumi.set(self, "per_request", value) + + +@pulumi.input_type +class VirtualNodeSpecListenerTimeoutHttpIdleArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + """ + :param pulumi.Input[str] unit: The unit of time. Valid values: `ms`, `s`. + :param pulumi.Input[int] value: The number of time units. Minimum value of `0`. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + """ + The unit of time. Valid values: `ms`, `s`. + """ + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + """ + The number of time units. Minimum value of `0`. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class VirtualNodeSpecListenerTimeoutHttpPerRequestArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + """ + :param pulumi.Input[str] unit: The unit of time. Valid values: `ms`, `s`. + :param pulumi.Input[int] value: The number of time units. Minimum value of `0`. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + """ + The unit of time. Valid values: `ms`, `s`. + """ + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + """ + The number of time units. Minimum value of `0`. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class VirtualNodeSpecListenerTimeoutTcpArgs: + def __init__(__self__, *, + idle: Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutTcpIdleArgs']] = None): + """ + :param pulumi.Input['VirtualNodeSpecListenerTimeoutTcpIdleArgs'] idle: The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + """ + if idle is not None: + pulumi.set(__self__, "idle", idle) + + @property + @pulumi.getter + def idle(self) -> Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutTcpIdleArgs']]: + """ + The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + """ + return pulumi.get(self, "idle") + + @idle.setter + def idle(self, value: Optional[pulumi.Input['VirtualNodeSpecListenerTimeoutTcpIdleArgs']]): + pulumi.set(self, "idle", value) + + +@pulumi.input_type +class VirtualNodeSpecListenerTimeoutTcpIdleArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + """ + :param pulumi.Input[str] unit: The unit of time. Valid values: `ms`, `s`. + :param pulumi.Input[int] value: The number of time units. Minimum value of `0`. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + """ + The unit of time. Valid values: `ms`, `s`. + """ + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + """ + The number of time units. Minimum value of `0`. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + @pulumi.input_type class VirtualNodeSpecListenerTlsArgs: def __init__(__self__, *, @@ -2503,7 +3493,7 @@ def __init__(__self__, *, acm: Optional[pulumi.Input['VirtualNodeSpecListenerTlsCertificateAcmArgs']] = None, file: Optional[pulumi.Input['VirtualNodeSpecListenerTlsCertificateFileArgs']] = None): """ - :param pulumi.Input['VirtualNodeSpecListenerTlsCertificateAcmArgs'] acm: An AWS Certicate Manager (ACM) certificate. + :param pulumi.Input['VirtualNodeSpecListenerTlsCertificateAcmArgs'] acm: An AWS Certificate Manager (ACM) certificate. :param pulumi.Input['VirtualNodeSpecListenerTlsCertificateFileArgs'] file: A local file certificate. """ if acm is not None: @@ -2515,7 +3505,7 @@ def __init__(__self__, *, @pulumi.getter def acm(self) -> Optional[pulumi.Input['VirtualNodeSpecListenerTlsCertificateAcmArgs']]: """ - An AWS Certicate Manager (ACM) certificate. + An AWS Certificate Manager (ACM) certificate. """ return pulumi.get(self, "acm") diff --git a/sdk/python/pulumi_aws/appmesh/outputs.py b/sdk/python/pulumi_aws/appmesh/outputs.py index feceabf8af1..32c0ee79752 100644 --- a/sdk/python/pulumi_aws/appmesh/outputs.py +++ b/sdk/python/pulumi_aws/appmesh/outputs.py @@ -22,6 +22,9 @@ 'RouteSpecGrpcRouteMatchMetadataMatchRange', 'RouteSpecGrpcRouteRetryPolicy', 'RouteSpecGrpcRouteRetryPolicyPerRetryTimeout', + 'RouteSpecGrpcRouteTimeout', + 'RouteSpecGrpcRouteTimeoutIdle', + 'RouteSpecGrpcRouteTimeoutPerRequest', 'RouteSpecHttp2Route', 'RouteSpecHttp2RouteAction', 'RouteSpecHttp2RouteActionWeightedTarget', @@ -31,6 +34,9 @@ 'RouteSpecHttp2RouteMatchHeaderMatchRange', 'RouteSpecHttp2RouteRetryPolicy', 'RouteSpecHttp2RouteRetryPolicyPerRetryTimeout', + 'RouteSpecHttp2RouteTimeout', + 'RouteSpecHttp2RouteTimeoutIdle', + 'RouteSpecHttp2RouteTimeoutPerRequest', 'RouteSpecHttpRoute', 'RouteSpecHttpRouteAction', 'RouteSpecHttpRouteActionWeightedTarget', @@ -40,9 +46,14 @@ 'RouteSpecHttpRouteMatchHeaderMatchRange', 'RouteSpecHttpRouteRetryPolicy', 'RouteSpecHttpRouteRetryPolicyPerRetryTimeout', + 'RouteSpecHttpRouteTimeout', + 'RouteSpecHttpRouteTimeoutIdle', + 'RouteSpecHttpRouteTimeoutPerRequest', 'RouteSpecTcpRoute', 'RouteSpecTcpRouteAction', 'RouteSpecTcpRouteActionWeightedTarget', + 'RouteSpecTcpRouteTimeout', + 'RouteSpecTcpRouteTimeoutIdle', 'VirtualNodeSpec', 'VirtualNodeSpecBackend', 'VirtualNodeSpecBackendDefaults', @@ -62,6 +73,18 @@ 'VirtualNodeSpecListener', 'VirtualNodeSpecListenerHealthCheck', 'VirtualNodeSpecListenerPortMapping', + 'VirtualNodeSpecListenerTimeout', + 'VirtualNodeSpecListenerTimeoutGrpc', + 'VirtualNodeSpecListenerTimeoutGrpcIdle', + 'VirtualNodeSpecListenerTimeoutGrpcPerRequest', + 'VirtualNodeSpecListenerTimeoutHttp2', + 'VirtualNodeSpecListenerTimeoutHttp2Idle', + 'VirtualNodeSpecListenerTimeoutHttp2PerRequest', + 'VirtualNodeSpecListenerTimeoutHttp', + 'VirtualNodeSpecListenerTimeoutHttpIdle', + 'VirtualNodeSpecListenerTimeoutHttpPerRequest', + 'VirtualNodeSpecListenerTimeoutTcp', + 'VirtualNodeSpecListenerTimeoutTcpIdle', 'VirtualNodeSpecListenerTls', 'VirtualNodeSpecListenerTlsCertificate', 'VirtualNodeSpecListenerTlsCertificateAcm', @@ -204,16 +227,20 @@ class RouteSpecGrpcRoute(dict): def __init__(__self__, *, action: 'outputs.RouteSpecGrpcRouteAction', match: 'outputs.RouteSpecGrpcRouteMatch', - retry_policy: Optional['outputs.RouteSpecGrpcRouteRetryPolicy'] = None): + retry_policy: Optional['outputs.RouteSpecGrpcRouteRetryPolicy'] = None, + timeout: Optional['outputs.RouteSpecGrpcRouteTimeout'] = None): """ :param 'RouteSpecGrpcRouteActionArgs' action: The action to take if a match is determined. :param 'RouteSpecGrpcRouteMatchArgs' match: The criteria for determining an gRPC request match. :param 'RouteSpecGrpcRouteRetryPolicyArgs' retry_policy: The retry policy. + :param 'RouteSpecGrpcRouteTimeoutArgs' timeout: The types of timeouts. """ pulumi.set(__self__, "action", action) pulumi.set(__self__, "match", match) if retry_policy is not None: pulumi.set(__self__, "retry_policy", retry_policy) + if timeout is not None: + pulumi.set(__self__, "timeout", timeout) @property @pulumi.getter @@ -239,6 +266,14 @@ def retry_policy(self) -> Optional['outputs.RouteSpecGrpcRouteRetryPolicy']: """ return pulumi.get(self, "retry_policy") + @property + @pulumi.getter + def timeout(self) -> Optional['outputs.RouteSpecGrpcRouteTimeout']: + """ + The types of timeouts. + """ + return pulumi.get(self, "timeout") + def _translate_property(self, prop): return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop @@ -303,16 +338,21 @@ class RouteSpecGrpcRouteMatch(dict): def __init__(__self__, *, metadatas: Optional[Sequence['outputs.RouteSpecGrpcRouteMatchMetadata']] = None, method_name: Optional[str] = None, + prefix: Optional[str] = None, service_name: Optional[str] = None): """ :param Sequence['RouteSpecGrpcRouteMatchMetadataArgs'] metadatas: The data to match from the gRPC request. :param str method_name: The method name to match from the request. If you specify a name, you must also specify a `service_name`. + :param str prefix: The value sent by the client must begin with the specified characters. + This parameter must always start with /, which by itself matches all requests to the virtual router service name. :param str service_name: The fully qualified domain name for the service to match from the request. """ if metadatas is not None: pulumi.set(__self__, "metadatas", metadatas) if method_name is not None: pulumi.set(__self__, "method_name", method_name) + if prefix is not None: + pulumi.set(__self__, "prefix", prefix) if service_name is not None: pulumi.set(__self__, "service_name", service_name) @@ -332,6 +372,15 @@ def method_name(self) -> Optional[str]: """ return pulumi.get(self, "method_name") + @property + @pulumi.getter + def prefix(self) -> Optional[str]: + """ + The value sent by the client must begin with the specified characters. + 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="serviceName") def service_name(self) -> Optional[str]: @@ -599,21 +648,123 @@ def _translate_property(self, prop): return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop +@pulumi.output_type +class RouteSpecGrpcRouteTimeout(dict): + def __init__(__self__, *, + idle: Optional['outputs.RouteSpecGrpcRouteTimeoutIdle'] = None, + per_request: Optional['outputs.RouteSpecGrpcRouteTimeoutPerRequest'] = None): + """ + :param 'RouteSpecGrpcRouteTimeoutIdleArgs' idle: The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + :param 'RouteSpecGrpcRouteTimeoutPerRequestArgs' per_request: The per request timeout. + """ + if idle is not None: + pulumi.set(__self__, "idle", idle) + if per_request is not None: + pulumi.set(__self__, "per_request", per_request) + + @property + @pulumi.getter + def idle(self) -> Optional['outputs.RouteSpecGrpcRouteTimeoutIdle']: + """ + The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + """ + return pulumi.get(self, "idle") + + @property + @pulumi.getter(name="perRequest") + def per_request(self) -> Optional['outputs.RouteSpecGrpcRouteTimeoutPerRequest']: + """ + The per request timeout. + """ + return pulumi.get(self, "per_request") + + def _translate_property(self, prop): + return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + +@pulumi.output_type +class RouteSpecGrpcRouteTimeoutIdle(dict): + def __init__(__self__, *, + unit: str, + value: int): + """ + :param str unit: The unit of time. Valid values: `ms`, `s`. + :param int value: The number of time units. Minimum value of `0`. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + """ + The unit of time. Valid values: `ms`, `s`. + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + """ + The number of time units. Minimum value of `0`. + """ + return pulumi.get(self, "value") + + def _translate_property(self, prop): + return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + +@pulumi.output_type +class RouteSpecGrpcRouteTimeoutPerRequest(dict): + def __init__(__self__, *, + unit: str, + value: int): + """ + :param str unit: The unit of time. Valid values: `ms`, `s`. + :param int value: The number of time units. Minimum value of `0`. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + """ + The unit of time. Valid values: `ms`, `s`. + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + """ + The number of time units. Minimum value of `0`. + """ + return pulumi.get(self, "value") + + def _translate_property(self, prop): + return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + @pulumi.output_type class RouteSpecHttp2Route(dict): def __init__(__self__, *, action: 'outputs.RouteSpecHttp2RouteAction', match: 'outputs.RouteSpecHttp2RouteMatch', - retry_policy: Optional['outputs.RouteSpecHttp2RouteRetryPolicy'] = None): + retry_policy: Optional['outputs.RouteSpecHttp2RouteRetryPolicy'] = None, + timeout: Optional['outputs.RouteSpecHttp2RouteTimeout'] = None): """ :param 'RouteSpecHttp2RouteActionArgs' action: The action to take if a match is determined. :param 'RouteSpecHttp2RouteMatchArgs' match: The criteria for determining an gRPC request match. :param 'RouteSpecHttp2RouteRetryPolicyArgs' retry_policy: The retry policy. + :param 'RouteSpecHttp2RouteTimeoutArgs' timeout: The types of timeouts. """ pulumi.set(__self__, "action", action) pulumi.set(__self__, "match", match) if retry_policy is not None: pulumi.set(__self__, "retry_policy", retry_policy) + if timeout is not None: + pulumi.set(__self__, "timeout", timeout) @property @pulumi.getter @@ -639,6 +790,14 @@ def retry_policy(self) -> Optional['outputs.RouteSpecHttp2RouteRetryPolicy']: """ return pulumi.get(self, "retry_policy") + @property + @pulumi.getter + def timeout(self) -> Optional['outputs.RouteSpecHttp2RouteTimeout']: + """ + The types of timeouts. + """ + return pulumi.get(self, "timeout") + def _translate_property(self, prop): return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop @@ -998,21 +1157,123 @@ def _translate_property(self, prop): return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop +@pulumi.output_type +class RouteSpecHttp2RouteTimeout(dict): + def __init__(__self__, *, + idle: Optional['outputs.RouteSpecHttp2RouteTimeoutIdle'] = None, + per_request: Optional['outputs.RouteSpecHttp2RouteTimeoutPerRequest'] = None): + """ + :param 'RouteSpecHttp2RouteTimeoutIdleArgs' idle: The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + :param 'RouteSpecHttp2RouteTimeoutPerRequestArgs' per_request: The per request timeout. + """ + if idle is not None: + pulumi.set(__self__, "idle", idle) + if per_request is not None: + pulumi.set(__self__, "per_request", per_request) + + @property + @pulumi.getter + def idle(self) -> Optional['outputs.RouteSpecHttp2RouteTimeoutIdle']: + """ + The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + """ + return pulumi.get(self, "idle") + + @property + @pulumi.getter(name="perRequest") + def per_request(self) -> Optional['outputs.RouteSpecHttp2RouteTimeoutPerRequest']: + """ + The per request timeout. + """ + return pulumi.get(self, "per_request") + + def _translate_property(self, prop): + return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + +@pulumi.output_type +class RouteSpecHttp2RouteTimeoutIdle(dict): + def __init__(__self__, *, + unit: str, + value: int): + """ + :param str unit: The unit of time. Valid values: `ms`, `s`. + :param int value: The number of time units. Minimum value of `0`. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + """ + The unit of time. Valid values: `ms`, `s`. + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + """ + The number of time units. Minimum value of `0`. + """ + return pulumi.get(self, "value") + + def _translate_property(self, prop): + return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + +@pulumi.output_type +class RouteSpecHttp2RouteTimeoutPerRequest(dict): + def __init__(__self__, *, + unit: str, + value: int): + """ + :param str unit: The unit of time. Valid values: `ms`, `s`. + :param int value: The number of time units. Minimum value of `0`. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + """ + The unit of time. Valid values: `ms`, `s`. + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + """ + The number of time units. Minimum value of `0`. + """ + return pulumi.get(self, "value") + + def _translate_property(self, prop): + return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + @pulumi.output_type class RouteSpecHttpRoute(dict): def __init__(__self__, *, action: 'outputs.RouteSpecHttpRouteAction', match: 'outputs.RouteSpecHttpRouteMatch', - retry_policy: Optional['outputs.RouteSpecHttpRouteRetryPolicy'] = None): + retry_policy: Optional['outputs.RouteSpecHttpRouteRetryPolicy'] = None, + timeout: Optional['outputs.RouteSpecHttpRouteTimeout'] = None): """ :param 'RouteSpecHttpRouteActionArgs' action: The action to take if a match is determined. :param 'RouteSpecHttpRouteMatchArgs' match: The criteria for determining an HTTP request match. :param 'RouteSpecHttpRouteRetryPolicyArgs' retry_policy: The retry policy. + :param 'RouteSpecHttpRouteTimeoutArgs' timeout: The types of timeouts. """ pulumi.set(__self__, "action", action) pulumi.set(__self__, "match", match) if retry_policy is not None: pulumi.set(__self__, "retry_policy", retry_policy) + if timeout is not None: + pulumi.set(__self__, "timeout", timeout) @property @pulumi.getter @@ -1038,6 +1299,14 @@ def retry_policy(self) -> Optional['outputs.RouteSpecHttpRouteRetryPolicy']: """ return pulumi.get(self, "retry_policy") + @property + @pulumi.getter + def timeout(self) -> Optional['outputs.RouteSpecHttpRouteTimeout']: + """ + The types of timeouts. + """ + return pulumi.get(self, "timeout") + def _translate_property(self, prop): return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop @@ -1397,14 +1666,116 @@ def _translate_property(self, prop): return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop +@pulumi.output_type +class RouteSpecHttpRouteTimeout(dict): + def __init__(__self__, *, + idle: Optional['outputs.RouteSpecHttpRouteTimeoutIdle'] = None, + per_request: Optional['outputs.RouteSpecHttpRouteTimeoutPerRequest'] = None): + """ + :param 'RouteSpecHttpRouteTimeoutIdleArgs' idle: The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + :param 'RouteSpecHttpRouteTimeoutPerRequestArgs' per_request: The per request timeout. + """ + if idle is not None: + pulumi.set(__self__, "idle", idle) + if per_request is not None: + pulumi.set(__self__, "per_request", per_request) + + @property + @pulumi.getter + def idle(self) -> Optional['outputs.RouteSpecHttpRouteTimeoutIdle']: + """ + The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + """ + return pulumi.get(self, "idle") + + @property + @pulumi.getter(name="perRequest") + def per_request(self) -> Optional['outputs.RouteSpecHttpRouteTimeoutPerRequest']: + """ + The per request timeout. + """ + return pulumi.get(self, "per_request") + + def _translate_property(self, prop): + return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + +@pulumi.output_type +class RouteSpecHttpRouteTimeoutIdle(dict): + def __init__(__self__, *, + unit: str, + value: int): + """ + :param str unit: The unit of time. Valid values: `ms`, `s`. + :param int value: The number of time units. Minimum value of `0`. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + """ + The unit of time. Valid values: `ms`, `s`. + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + """ + The number of time units. Minimum value of `0`. + """ + return pulumi.get(self, "value") + + def _translate_property(self, prop): + return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + +@pulumi.output_type +class RouteSpecHttpRouteTimeoutPerRequest(dict): + def __init__(__self__, *, + unit: str, + value: int): + """ + :param str unit: The unit of time. Valid values: `ms`, `s`. + :param int value: The number of time units. Minimum value of `0`. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + """ + The unit of time. Valid values: `ms`, `s`. + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + """ + The number of time units. Minimum value of `0`. + """ + return pulumi.get(self, "value") + + def _translate_property(self, prop): + return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + @pulumi.output_type class RouteSpecTcpRoute(dict): def __init__(__self__, *, - action: 'outputs.RouteSpecTcpRouteAction'): + action: 'outputs.RouteSpecTcpRouteAction', + timeout: Optional['outputs.RouteSpecTcpRouteTimeout'] = None): """ :param 'RouteSpecTcpRouteActionArgs' action: The action to take if a match is determined. + :param 'RouteSpecTcpRouteTimeoutArgs' timeout: The types of timeouts. """ pulumi.set(__self__, "action", action) + if timeout is not None: + pulumi.set(__self__, "timeout", timeout) @property @pulumi.getter @@ -1414,6 +1785,14 @@ def action(self) -> 'outputs.RouteSpecTcpRouteAction': """ return pulumi.get(self, "action") + @property + @pulumi.getter + def timeout(self) -> Optional['outputs.RouteSpecTcpRouteTimeout']: + """ + The types of timeouts. + """ + return pulumi.get(self, "timeout") + def _translate_property(self, prop): return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop @@ -1474,13 +1853,67 @@ def _translate_property(self, prop): @pulumi.output_type -class VirtualNodeSpec(dict): +class RouteSpecTcpRouteTimeout(dict): def __init__(__self__, *, - backend_defaults: Optional['outputs.VirtualNodeSpecBackendDefaults'] = None, - backends: Optional[Sequence['outputs.VirtualNodeSpecBackend']] = None, - listener: Optional['outputs.VirtualNodeSpecListener'] = None, - logging: Optional['outputs.VirtualNodeSpecLogging'] = None, - service_discovery: Optional['outputs.VirtualNodeSpecServiceDiscovery'] = None): + idle: Optional['outputs.RouteSpecTcpRouteTimeoutIdle'] = None): + """ + :param 'RouteSpecTcpRouteTimeoutIdleArgs' idle: The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + """ + if idle is not None: + pulumi.set(__self__, "idle", idle) + + @property + @pulumi.getter + def idle(self) -> Optional['outputs.RouteSpecTcpRouteTimeoutIdle']: + """ + The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + """ + return pulumi.get(self, "idle") + + def _translate_property(self, prop): + return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + +@pulumi.output_type +class RouteSpecTcpRouteTimeoutIdle(dict): + def __init__(__self__, *, + unit: str, + value: int): + """ + :param str unit: The unit of time. Valid values: `ms`, `s`. + :param int value: The number of time units. Minimum value of `0`. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + """ + The unit of time. Valid values: `ms`, `s`. + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + """ + The number of time units. Minimum value of `0`. + """ + return pulumi.get(self, "value") + + def _translate_property(self, prop): + return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + +@pulumi.output_type +class VirtualNodeSpec(dict): + def __init__(__self__, *, + backend_defaults: Optional['outputs.VirtualNodeSpecBackendDefaults'] = None, + backends: Optional[Sequence['outputs.VirtualNodeSpecBackend']] = None, + listener: Optional['outputs.VirtualNodeSpecListener'] = None, + logging: Optional['outputs.VirtualNodeSpecLogging'] = None, + service_discovery: Optional['outputs.VirtualNodeSpecServiceDiscovery'] = None): """ :param 'VirtualNodeSpecBackendDefaultsArgs' backend_defaults: The defaults for backends. :param Sequence['VirtualNodeSpecBackendArgs'] backends: The backends to which the virtual node is expected to send outbound traffic. @@ -1676,7 +2109,7 @@ def __init__(__self__, *, acm: Optional['outputs.VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm'] = None, file: Optional['outputs.VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile'] = None): """ - :param 'VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs' acm: The TLS validation context trust for an AWS Certicate Manager (ACM) certificate. + :param 'VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs' acm: The TLS validation context trust for an AWS Certificate Manager (ACM) certificate. :param 'VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs' file: The TLS validation context trust for a local file. """ if acm is not None: @@ -1688,7 +2121,7 @@ def __init__(__self__, *, @pulumi.getter def acm(self) -> Optional['outputs.VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm']: """ - The TLS validation context trust for an AWS Certicate Manager (ACM) certificate. + The TLS validation context trust for an AWS Certificate Manager (ACM) certificate. """ return pulumi.get(self, "acm") @@ -1869,7 +2302,7 @@ def __init__(__self__, *, acm: Optional['outputs.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm'] = None, file: Optional['outputs.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile'] = None): """ - :param 'VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs' acm: The TLS validation context trust for an AWS Certicate Manager (ACM) certificate. + :param 'VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs' acm: The TLS validation context trust for an AWS Certificate Manager (ACM) certificate. :param 'VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs' file: The TLS validation context trust for a local file. """ if acm is not None: @@ -1881,7 +2314,7 @@ def __init__(__self__, *, @pulumi.getter def acm(self) -> Optional['outputs.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm']: """ - The TLS validation context trust for an AWS Certicate Manager (ACM) certificate. + The TLS validation context trust for an AWS Certificate Manager (ACM) certificate. """ return pulumi.get(self, "acm") @@ -1944,15 +2377,19 @@ class VirtualNodeSpecListener(dict): def __init__(__self__, *, port_mapping: 'outputs.VirtualNodeSpecListenerPortMapping', health_check: Optional['outputs.VirtualNodeSpecListenerHealthCheck'] = None, + timeout: Optional['outputs.VirtualNodeSpecListenerTimeout'] = None, tls: Optional['outputs.VirtualNodeSpecListenerTls'] = None): """ :param 'VirtualNodeSpecListenerPortMappingArgs' port_mapping: The port mapping information for the listener. :param 'VirtualNodeSpecListenerHealthCheckArgs' health_check: The health check information for the listener. + :param 'VirtualNodeSpecListenerTimeoutArgs' timeout: Timeouts for different protocols. :param 'VirtualNodeSpecListenerTlsArgs' tls: The Transport Layer Security (TLS) properties for the listener """ pulumi.set(__self__, "port_mapping", port_mapping) if health_check is not None: pulumi.set(__self__, "health_check", health_check) + if timeout is not None: + pulumi.set(__self__, "timeout", timeout) if tls is not None: pulumi.set(__self__, "tls", tls) @@ -1972,6 +2409,14 @@ def health_check(self) -> Optional['outputs.VirtualNodeSpecListenerHealthCheck'] """ return pulumi.get(self, "health_check") + @property + @pulumi.getter + def timeout(self) -> Optional['outputs.VirtualNodeSpecListenerTimeout']: + """ + Timeouts for different protocols. + """ + return pulumi.get(self, "timeout") + @property @pulumi.getter def tls(self) -> Optional['outputs.VirtualNodeSpecListenerTls']: @@ -2105,6 +2550,412 @@ def _translate_property(self, prop): return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop +@pulumi.output_type +class VirtualNodeSpecListenerTimeout(dict): + def __init__(__self__, *, + grpc: Optional['outputs.VirtualNodeSpecListenerTimeoutGrpc'] = None, + http: Optional['outputs.VirtualNodeSpecListenerTimeoutHttp'] = None, + http2: Optional['outputs.VirtualNodeSpecListenerTimeoutHttp2'] = None, + tcp: Optional['outputs.VirtualNodeSpecListenerTimeoutTcp'] = None): + """ + :param 'VirtualNodeSpecListenerTimeoutGrpcArgs' grpc: Timeouts for gRPC listeners. + :param 'VirtualNodeSpecListenerTimeoutHttpArgs' http: Timeouts for HTTP listeners. + :param 'VirtualNodeSpecListenerTimeoutHttp2Args' http2: Timeouts for HTTP2 listeners. + :param 'VirtualNodeSpecListenerTimeoutTcpArgs' tcp: Timeouts for TCP listeners. + """ + if grpc is not None: + pulumi.set(__self__, "grpc", grpc) + if http is not None: + pulumi.set(__self__, "http", http) + if http2 is not None: + pulumi.set(__self__, "http2", http2) + if tcp is not None: + pulumi.set(__self__, "tcp", tcp) + + @property + @pulumi.getter + def grpc(self) -> Optional['outputs.VirtualNodeSpecListenerTimeoutGrpc']: + """ + Timeouts for gRPC listeners. + """ + return pulumi.get(self, "grpc") + + @property + @pulumi.getter + def http(self) -> Optional['outputs.VirtualNodeSpecListenerTimeoutHttp']: + """ + Timeouts for HTTP listeners. + """ + return pulumi.get(self, "http") + + @property + @pulumi.getter + def http2(self) -> Optional['outputs.VirtualNodeSpecListenerTimeoutHttp2']: + """ + Timeouts for HTTP2 listeners. + """ + return pulumi.get(self, "http2") + + @property + @pulumi.getter + def tcp(self) -> Optional['outputs.VirtualNodeSpecListenerTimeoutTcp']: + """ + Timeouts for TCP listeners. + """ + return pulumi.get(self, "tcp") + + def _translate_property(self, prop): + return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + +@pulumi.output_type +class VirtualNodeSpecListenerTimeoutGrpc(dict): + def __init__(__self__, *, + idle: Optional['outputs.VirtualNodeSpecListenerTimeoutGrpcIdle'] = None, + per_request: Optional['outputs.VirtualNodeSpecListenerTimeoutGrpcPerRequest'] = None): + """ + :param 'VirtualNodeSpecListenerTimeoutGrpcIdleArgs' idle: The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + :param 'VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs' per_request: The per request timeout. + """ + if idle is not None: + pulumi.set(__self__, "idle", idle) + if per_request is not None: + pulumi.set(__self__, "per_request", per_request) + + @property + @pulumi.getter + def idle(self) -> Optional['outputs.VirtualNodeSpecListenerTimeoutGrpcIdle']: + """ + The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + """ + return pulumi.get(self, "idle") + + @property + @pulumi.getter(name="perRequest") + def per_request(self) -> Optional['outputs.VirtualNodeSpecListenerTimeoutGrpcPerRequest']: + """ + The per request timeout. + """ + return pulumi.get(self, "per_request") + + def _translate_property(self, prop): + return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + +@pulumi.output_type +class VirtualNodeSpecListenerTimeoutGrpcIdle(dict): + def __init__(__self__, *, + unit: str, + value: int): + """ + :param str unit: The unit of time. Valid values: `ms`, `s`. + :param int value: The number of time units. Minimum value of `0`. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + """ + The unit of time. Valid values: `ms`, `s`. + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + """ + The number of time units. Minimum value of `0`. + """ + return pulumi.get(self, "value") + + def _translate_property(self, prop): + return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + +@pulumi.output_type +class VirtualNodeSpecListenerTimeoutGrpcPerRequest(dict): + def __init__(__self__, *, + unit: str, + value: int): + """ + :param str unit: The unit of time. Valid values: `ms`, `s`. + :param int value: The number of time units. Minimum value of `0`. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + """ + The unit of time. Valid values: `ms`, `s`. + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + """ + The number of time units. Minimum value of `0`. + """ + return pulumi.get(self, "value") + + def _translate_property(self, prop): + return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + +@pulumi.output_type +class VirtualNodeSpecListenerTimeoutHttp2(dict): + def __init__(__self__, *, + idle: Optional['outputs.VirtualNodeSpecListenerTimeoutHttp2Idle'] = None, + per_request: Optional['outputs.VirtualNodeSpecListenerTimeoutHttp2PerRequest'] = None): + """ + :param 'VirtualNodeSpecListenerTimeoutHttp2IdleArgs' idle: The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + :param 'VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs' per_request: The per request timeout. + """ + if idle is not None: + pulumi.set(__self__, "idle", idle) + if per_request is not None: + pulumi.set(__self__, "per_request", per_request) + + @property + @pulumi.getter + def idle(self) -> Optional['outputs.VirtualNodeSpecListenerTimeoutHttp2Idle']: + """ + The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + """ + return pulumi.get(self, "idle") + + @property + @pulumi.getter(name="perRequest") + def per_request(self) -> Optional['outputs.VirtualNodeSpecListenerTimeoutHttp2PerRequest']: + """ + The per request timeout. + """ + return pulumi.get(self, "per_request") + + def _translate_property(self, prop): + return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + +@pulumi.output_type +class VirtualNodeSpecListenerTimeoutHttp2Idle(dict): + def __init__(__self__, *, + unit: str, + value: int): + """ + :param str unit: The unit of time. Valid values: `ms`, `s`. + :param int value: The number of time units. Minimum value of `0`. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + """ + The unit of time. Valid values: `ms`, `s`. + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + """ + The number of time units. Minimum value of `0`. + """ + return pulumi.get(self, "value") + + def _translate_property(self, prop): + return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + +@pulumi.output_type +class VirtualNodeSpecListenerTimeoutHttp2PerRequest(dict): + def __init__(__self__, *, + unit: str, + value: int): + """ + :param str unit: The unit of time. Valid values: `ms`, `s`. + :param int value: The number of time units. Minimum value of `0`. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + """ + The unit of time. Valid values: `ms`, `s`. + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + """ + The number of time units. Minimum value of `0`. + """ + return pulumi.get(self, "value") + + def _translate_property(self, prop): + return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + +@pulumi.output_type +class VirtualNodeSpecListenerTimeoutHttp(dict): + def __init__(__self__, *, + idle: Optional['outputs.VirtualNodeSpecListenerTimeoutHttpIdle'] = None, + per_request: Optional['outputs.VirtualNodeSpecListenerTimeoutHttpPerRequest'] = None): + """ + :param 'VirtualNodeSpecListenerTimeoutHttpIdleArgs' idle: The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + :param 'VirtualNodeSpecListenerTimeoutHttpPerRequestArgs' per_request: The per request timeout. + """ + if idle is not None: + pulumi.set(__self__, "idle", idle) + if per_request is not None: + pulumi.set(__self__, "per_request", per_request) + + @property + @pulumi.getter + def idle(self) -> Optional['outputs.VirtualNodeSpecListenerTimeoutHttpIdle']: + """ + The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + """ + return pulumi.get(self, "idle") + + @property + @pulumi.getter(name="perRequest") + def per_request(self) -> Optional['outputs.VirtualNodeSpecListenerTimeoutHttpPerRequest']: + """ + The per request timeout. + """ + return pulumi.get(self, "per_request") + + def _translate_property(self, prop): + return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + +@pulumi.output_type +class VirtualNodeSpecListenerTimeoutHttpIdle(dict): + def __init__(__self__, *, + unit: str, + value: int): + """ + :param str unit: The unit of time. Valid values: `ms`, `s`. + :param int value: The number of time units. Minimum value of `0`. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + """ + The unit of time. Valid values: `ms`, `s`. + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + """ + The number of time units. Minimum value of `0`. + """ + return pulumi.get(self, "value") + + def _translate_property(self, prop): + return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + +@pulumi.output_type +class VirtualNodeSpecListenerTimeoutHttpPerRequest(dict): + def __init__(__self__, *, + unit: str, + value: int): + """ + :param str unit: The unit of time. Valid values: `ms`, `s`. + :param int value: The number of time units. Minimum value of `0`. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + """ + The unit of time. Valid values: `ms`, `s`. + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + """ + The number of time units. Minimum value of `0`. + """ + return pulumi.get(self, "value") + + def _translate_property(self, prop): + return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + +@pulumi.output_type +class VirtualNodeSpecListenerTimeoutTcp(dict): + def __init__(__self__, *, + idle: Optional['outputs.VirtualNodeSpecListenerTimeoutTcpIdle'] = None): + """ + :param 'VirtualNodeSpecListenerTimeoutTcpIdleArgs' idle: The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + """ + if idle is not None: + pulumi.set(__self__, "idle", idle) + + @property + @pulumi.getter + def idle(self) -> Optional['outputs.VirtualNodeSpecListenerTimeoutTcpIdle']: + """ + The idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + """ + return pulumi.get(self, "idle") + + def _translate_property(self, prop): + return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + +@pulumi.output_type +class VirtualNodeSpecListenerTimeoutTcpIdle(dict): + def __init__(__self__, *, + unit: str, + value: int): + """ + :param str unit: The unit of time. Valid values: `ms`, `s`. + :param int value: The number of time units. Minimum value of `0`. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + """ + The unit of time. Valid values: `ms`, `s`. + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + """ + The number of time units. Minimum value of `0`. + """ + return pulumi.get(self, "value") + + def _translate_property(self, prop): + return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + @pulumi.output_type class VirtualNodeSpecListenerTls(dict): def __init__(__self__, *, @@ -2143,7 +2994,7 @@ def __init__(__self__, *, acm: Optional['outputs.VirtualNodeSpecListenerTlsCertificateAcm'] = None, file: Optional['outputs.VirtualNodeSpecListenerTlsCertificateFile'] = None): """ - :param 'VirtualNodeSpecListenerTlsCertificateAcmArgs' acm: An AWS Certicate Manager (ACM) certificate. + :param 'VirtualNodeSpecListenerTlsCertificateAcmArgs' acm: An AWS Certificate Manager (ACM) certificate. :param 'VirtualNodeSpecListenerTlsCertificateFileArgs' file: A local file certificate. """ if acm is not None: @@ -2155,7 +3006,7 @@ def __init__(__self__, *, @pulumi.getter def acm(self) -> Optional['outputs.VirtualNodeSpecListenerTlsCertificateAcm']: """ - An AWS Certicate Manager (ACM) certificate. + An AWS Certificate Manager (ACM) certificate. """ return pulumi.get(self, "acm") diff --git a/sdk/python/pulumi_aws/autoscaling/attachment.py b/sdk/python/pulumi_aws/autoscaling/attachment.py index 417fb78cec2..f6fad22055b 100644 --- a/sdk/python/pulumi_aws/autoscaling/attachment.py +++ b/sdk/python/pulumi_aws/autoscaling/attachment.py @@ -22,15 +22,15 @@ def __init__(__self__, __name__=None, __opts__=None): """ - Provides an AutoScaling Attachment resource. - - > **NOTE on AutoScaling Groups and ASG Attachments:** This provider currently provides - both a standalone ASG Attachment resource (describing an ASG attached to - an ELB or ALB), and an AutoScaling Group resource with - `load_balancers` and `target_group_arns` defined in-line. At this time you can use an ASG with in-line - `load balancers` or `target_group_arns` in conjunction with an ASG Attachment resource, however, to prevent - unintended resource updates, the `autoscaling.Group` resource must be configured - to ignore changes to the `load_balancers` and `target_group_arns` arguments within a [`lifecycle` configuration block](https://www.terraform.io/docs/configuration/resources.html#lifecycle-lifecycle-customizations). + Provides an Auto Scaling Attachment resource. + + > **NOTE on Auto Scaling Groups and ASG Attachments:** This provider currently provides + both a standalone `autoscaling.Attachment` resource + (describing an ASG attached to an ELB or ALB), and an `autoscaling.Group` + with `load_balancers` and `target_group_arns` defined in-line. These two methods are not + mutually-exclusive. If `autoscaling.Attachment` resources are used, either alone or with inline + `load_balancers` or `target_group_arns`, the `autoscaling.Group` resource must be configured + to [ignore changes](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) to the `load_balancers` and `target_group_arns` arguments. ## Example Usage diff --git a/sdk/python/pulumi_aws/autoscaling/get_group.py b/sdk/python/pulumi_aws/autoscaling/get_group.py index 72aa628a650..7f01ba3df01 100644 --- a/sdk/python/pulumi_aws/autoscaling/get_group.py +++ b/sdk/python/pulumi_aws/autoscaling/get_group.py @@ -167,7 +167,7 @@ def min_size(self) -> int: @pulumi.getter def name(self) -> str: """ - The name of the Auto Scaling group. + Name of the Auto Scaling Group. """ return pulumi.get(self, "name") diff --git a/sdk/python/pulumi_aws/autoscaling/group.py b/sdk/python/pulumi_aws/autoscaling/group.py index 2f9c80ad055..5a801d0817f 100644 --- a/sdk/python/pulumi_aws/autoscaling/group.py +++ b/sdk/python/pulumi_aws/autoscaling/group.py @@ -51,126 +51,7 @@ def __init__(__self__, __name__=None, __opts__=None): """ - Provides an AutoScaling Group resource. - - > **Note:** You must specify either `launch_configuration`, `launch_template`, or `mixed_instances_policy`. - - ## Example Usage - ### With Latest Version Of Launch Template - - ```python - import pulumi - import pulumi_aws as aws - - foobar = aws.ec2.LaunchTemplate("foobar", - name_prefix="foobar", - image_id="ami-1a2b3c", - instance_type="t2.micro") - bar = aws.autoscaling.Group("bar", - availability_zones=["us-east-1a"], - desired_capacity=1, - max_size=1, - min_size=1, - launch_template=aws.autoscaling.GroupLaunchTemplateArgs( - id=foobar.id, - version="$Latest", - )) - ``` - ### Mixed Instances Policy - - ```python - import pulumi - import pulumi_aws as aws - - example_launch_template = aws.ec2.LaunchTemplate("exampleLaunchTemplate", - name_prefix="example", - image_id=data["aws_ami"]["example"]["id"], - instance_type="c5.large") - example_group = aws.autoscaling.Group("exampleGroup", - availability_zones=["us-east-1a"], - desired_capacity=1, - max_size=1, - min_size=1, - mixed_instances_policy=aws.autoscaling.GroupMixedInstancesPolicyArgs( - launch_template={ - "launchTemplateSpecification": { - "launchTemplateId": example_launch_template.id, - }, - "overrides": [ - { - "instance_type": "c4.large", - "weightedCapacity": "3", - }, - { - "instance_type": "c3.large", - "weightedCapacity": "2", - }, - ], - }, - )) - ``` - ## Waiting for Capacity - - A newly-created ASG is initially empty and begins to scale to `min_size` (or - `desired_capacity`, if specified) by launching instances using the provided - Launch Configuration. These instances take time to launch and boot. - - On ASG Update, changes to these values also take time to result in the target - number of instances providing service. - - This provider provides two mechanisms to help consistently manage ASG scale up - time across dependent resources. - - #### Waiting for ASG Capacity - - The first is default behavior. This provider waits after ASG creation for - `min_size` (or `desired_capacity`, if specified) healthy instances to show up - in the ASG before continuing. - - If `min_size` or `desired_capacity` are changed in a subsequent update, - this provider will also wait for the correct number of healthy instances before - continuing. - - This provider considers an instance "healthy" when the ASG reports `HealthStatus: - "Healthy"` and `LifecycleState: "InService"`. See the [AWS AutoScaling - Docs](https://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingGroupLifecycle.html) - for more information on an ASG's lifecycle. - - This provider will wait for healthy instances for up to - `wait_for_capacity_timeout`. If ASG creation is taking more than a few minutes, - it's worth investigating for scaling activity errors, which can be caused by - problems with the selected Launch Configuration. - - Setting `wait_for_capacity_timeout` to `"0"` disables ASG Capacity waiting. - - #### Waiting for ELB Capacity - - The second mechanism is optional, and affects ASGs with attached ELBs specified - via the `load_balancers` attribute or with ALBs specified with `target_group_arns`. - - The `min_elb_capacity` parameter causes this provider to wait for at least the - requested number of instances to show up `"InService"` in all attached ELBs - during ASG creation. It has no effect on ASG updates. - - If `wait_for_elb_capacity` is set, this provider will wait for exactly that number - of Instances to be `"InService"` in all attached ELBs on both creation and - updates. - - These parameters can be used to ensure that service is being provided before - this provider moves on. If new instances don't pass the ELB's health checks for any - reason, the deployment will time out, and the ASG will be marked as - tainted (i.e. marked to be destroyed in a follow up run). - - As with ASG Capacity, this provider will wait for up to `wait_for_capacity_timeout` - for the proper number of instances to be healthy. - - #### Troubleshooting Capacity Waiting Timeouts - - If ASG creation takes more than a few minutes, this could indicate one of a - number of configuration problems. See the [AWS Docs on Load Balancer - Troubleshooting](https://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elb-troubleshooting.html) - for more information. - + Create a Group resource with the given unique name, props, and options. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Sequence[pulumi.Input[str]]] availability_zones: A list of one or more availability zones for the group. Used for EC2-Classic and default subnets when not specified with `vpc_zone_identifier` argument. Conflicts with `vpc_zone_identifier`. diff --git a/sdk/python/pulumi_aws/batch/compute_environment.py b/sdk/python/pulumi_aws/batch/compute_environment.py index e63b65a0d2e..f044257835f 100644 --- a/sdk/python/pulumi_aws/batch/compute_environment.py +++ b/sdk/python/pulumi_aws/batch/compute_environment.py @@ -22,6 +22,7 @@ def __init__(__self__, compute_resources: Optional[pulumi.Input[pulumi.InputType['ComputeEnvironmentComputeResourcesArgs']]] = None, service_role: Optional[pulumi.Input[str]] = None, state: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, type: Optional[pulumi.Input[str]] = None, __props__=None, __name__=None, @@ -109,6 +110,7 @@ def __init__(__self__, :param pulumi.Input[pulumi.InputType['ComputeEnvironmentComputeResourcesArgs']] compute_resources: Details of the compute resources managed by the compute environment. This parameter is required for managed compute environments. See details below. :param pulumi.Input[str] service_role: The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to make calls to other AWS services on your behalf. :param pulumi.Input[str] state: The state of the compute environment. If the state is `ENABLED`, then the compute environment accepts jobs from a queue and can scale out automatically based on queues. Valid items are `ENABLED` or `DISABLED`. Defaults to `ENABLED`. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value pair tags to be applied to resources that are launched in the compute environment. :param pulumi.Input[str] type: The type of compute environment. Valid items are `EC2` or `SPOT`. """ if __name__ is not None: @@ -135,6 +137,7 @@ def __init__(__self__, raise TypeError("Missing required property 'service_role'") __props__['service_role'] = service_role __props__['state'] = state + __props__['tags'] = tags if type is None: raise TypeError("Missing required property 'type'") __props__['type'] = type @@ -161,6 +164,7 @@ def get(resource_name: str, state: Optional[pulumi.Input[str]] = None, status: Optional[pulumi.Input[str]] = None, status_reason: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, type: Optional[pulumi.Input[str]] = None) -> 'ComputeEnvironment': """ Get an existing ComputeEnvironment resource's state with the given name, id, and optional extra @@ -178,6 +182,7 @@ def get(resource_name: str, :param pulumi.Input[str] state: The state of the compute environment. If the state is `ENABLED`, then the compute environment accepts jobs from a queue and can scale out automatically based on queues. Valid items are `ENABLED` or `DISABLED`. Defaults to `ENABLED`. :param pulumi.Input[str] status: The current status of the compute environment (for example, CREATING or VALID). :param pulumi.Input[str] status_reason: A short, human-readable string to provide additional details about the current status of the compute environment. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value pair tags to be applied to resources that are launched in the compute environment. :param pulumi.Input[str] type: The type of compute environment. Valid items are `EC2` or `SPOT`. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -193,6 +198,7 @@ def get(resource_name: str, __props__["state"] = state __props__["status"] = status __props__["status_reason"] = status_reason + __props__["tags"] = tags __props__["type"] = type return ComputeEnvironment(resource_name, opts=opts, __props__=__props__) @@ -268,6 +274,14 @@ def status_reason(self) -> pulumi.Output[str]: """ return pulumi.get(self, "status_reason") + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Key-value pair tags to be applied to resources that are launched in the compute environment. + """ + return pulumi.get(self, "tags") + @property @pulumi.getter def type(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws/batch/get_compute_environment.py b/sdk/python/pulumi_aws/batch/get_compute_environment.py index 22acdd5ce16..b44c2e34deb 100644 --- a/sdk/python/pulumi_aws/batch/get_compute_environment.py +++ b/sdk/python/pulumi_aws/batch/get_compute_environment.py @@ -19,7 +19,7 @@ class GetComputeEnvironmentResult: """ A collection of values returned by getComputeEnvironment. """ - def __init__(__self__, arn=None, compute_environment_name=None, ecs_cluster_arn=None, id=None, service_role=None, state=None, status=None, status_reason=None, type=None): + def __init__(__self__, arn=None, compute_environment_name=None, ecs_cluster_arn=None, id=None, service_role=None, state=None, status=None, status_reason=None, tags=None, type=None): if arn and not isinstance(arn, str): raise TypeError("Expected argument 'arn' to be a str") pulumi.set(__self__, "arn", arn) @@ -44,6 +44,9 @@ def __init__(__self__, arn=None, compute_environment_name=None, ecs_cluster_arn= if status_reason and not isinstance(status_reason, str): raise TypeError("Expected argument 'status_reason' to be a str") pulumi.set(__self__, "status_reason", status_reason) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) if type and not isinstance(type, str): raise TypeError("Expected argument 'type' to be a str") pulumi.set(__self__, "type", type) @@ -109,6 +112,14 @@ def status_reason(self) -> str: """ return pulumi.get(self, "status_reason") + @property + @pulumi.getter + def tags(self) -> Mapping[str, str]: + """ + Key-value map of resource tags + """ + return pulumi.get(self, "tags") + @property @pulumi.getter def type(self) -> str: @@ -132,10 +143,12 @@ def __await__(self): state=self.state, status=self.status, status_reason=self.status_reason, + tags=self.tags, type=self.type) def get_compute_environment(compute_environment_name: Optional[str] = None, + tags: Optional[Mapping[str, str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetComputeEnvironmentResult: """ The Batch Compute Environment data source allows access to details of a specific @@ -152,9 +165,11 @@ def get_compute_environment(compute_environment_name: Optional[str] = None, :param str compute_environment_name: The name of the Batch Compute Environment + :param Mapping[str, str] tags: Key-value map of resource tags """ __args__ = dict() __args__['computeEnvironmentName'] = compute_environment_name + __args__['tags'] = tags if opts is None: opts = pulumi.InvokeOptions() if opts.version is None: @@ -170,4 +185,5 @@ def get_compute_environment(compute_environment_name: Optional[str] = None, state=__ret__.state, status=__ret__.status, status_reason=__ret__.status_reason, + tags=__ret__.tags, type=__ret__.type) diff --git a/sdk/python/pulumi_aws/batch/get_job_queue.py b/sdk/python/pulumi_aws/batch/get_job_queue.py index 5df818426c8..29b7dc68e3d 100644 --- a/sdk/python/pulumi_aws/batch/get_job_queue.py +++ b/sdk/python/pulumi_aws/batch/get_job_queue.py @@ -20,7 +20,7 @@ class GetJobQueueResult: """ A collection of values returned by getJobQueue. """ - def __init__(__self__, arn=None, compute_environment_orders=None, id=None, name=None, priority=None, state=None, status=None, status_reason=None): + def __init__(__self__, arn=None, compute_environment_orders=None, id=None, name=None, priority=None, state=None, status=None, status_reason=None, tags=None): if arn and not isinstance(arn, str): raise TypeError("Expected argument 'arn' to be a str") pulumi.set(__self__, "arn", arn) @@ -45,6 +45,9 @@ def __init__(__self__, arn=None, compute_environment_orders=None, id=None, name= if status_reason and not isinstance(status_reason, str): raise TypeError("Expected argument 'status_reason' to be a str") pulumi.set(__self__, "status_reason", status_reason) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) @property @pulumi.getter @@ -112,6 +115,14 @@ def status_reason(self) -> str: """ return pulumi.get(self, "status_reason") + @property + @pulumi.getter + def tags(self) -> Mapping[str, str]: + """ + Key-value map of resource tags + """ + return pulumi.get(self, "tags") + class AwaitableGetJobQueueResult(GetJobQueueResult): # pylint: disable=using-constant-test @@ -126,10 +137,12 @@ def __await__(self): priority=self.priority, state=self.state, status=self.status, - status_reason=self.status_reason) + status_reason=self.status_reason, + tags=self.tags) def get_job_queue(name: Optional[str] = None, + tags: Optional[Mapping[str, str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetJobQueueResult: """ The Batch Job Queue data source allows access to details of a specific @@ -146,9 +159,11 @@ def get_job_queue(name: Optional[str] = None, :param str name: The name of the job queue. + :param Mapping[str, str] tags: Key-value map of resource tags """ __args__ = dict() __args__['name'] = name + __args__['tags'] = tags if opts is None: opts = pulumi.InvokeOptions() if opts.version is None: @@ -163,4 +178,5 @@ def get_job_queue(name: Optional[str] = None, priority=__ret__.priority, state=__ret__.state, status=__ret__.status, - status_reason=__ret__.status_reason) + status_reason=__ret__.status_reason, + tags=__ret__.tags) diff --git a/sdk/python/pulumi_aws/batch/job_definition.py b/sdk/python/pulumi_aws/batch/job_definition.py index 4e00558e012..913bf5b0213 100644 --- a/sdk/python/pulumi_aws/batch/job_definition.py +++ b/sdk/python/pulumi_aws/batch/job_definition.py @@ -21,6 +21,7 @@ def __init__(__self__, name: Optional[pulumi.Input[str]] = None, parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, retry_strategy: Optional[pulumi.Input[pulumi.InputType['JobDefinitionRetryStrategyArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, timeout: Optional[pulumi.Input[pulumi.InputType['JobDefinitionTimeoutArgs']]] = None, type: Optional[pulumi.Input[str]] = None, __props__=None, @@ -80,6 +81,7 @@ def __init__(__self__, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: Specifies the parameter substitution placeholders to set in the job definition. :param pulumi.Input[pulumi.InputType['JobDefinitionRetryStrategyArgs']] retry_strategy: Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map of resource tags :param pulumi.Input[pulumi.InputType['JobDefinitionTimeoutArgs']] timeout: Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. :param pulumi.Input[str] type: The type of job definition. Must be `container` """ @@ -104,6 +106,7 @@ def __init__(__self__, __props__['name'] = name __props__['parameters'] = parameters __props__['retry_strategy'] = retry_strategy + __props__['tags'] = tags __props__['timeout'] = timeout if type is None: raise TypeError("Missing required property 'type'") @@ -126,6 +129,7 @@ def get(resource_name: str, parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, retry_strategy: Optional[pulumi.Input[pulumi.InputType['JobDefinitionRetryStrategyArgs']]] = None, revision: Optional[pulumi.Input[int]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, timeout: Optional[pulumi.Input[pulumi.InputType['JobDefinitionTimeoutArgs']]] = None, type: Optional[pulumi.Input[str]] = None) -> 'JobDefinition': """ @@ -143,6 +147,7 @@ def get(resource_name: str, :param pulumi.Input[pulumi.InputType['JobDefinitionRetryStrategyArgs']] retry_strategy: Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. :param pulumi.Input[int] revision: The revision of the job definition. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map of resource tags :param pulumi.Input[pulumi.InputType['JobDefinitionTimeoutArgs']] timeout: Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. :param pulumi.Input[str] type: The type of job definition. Must be `container` """ @@ -156,6 +161,7 @@ def get(resource_name: str, __props__["parameters"] = parameters __props__["retry_strategy"] = retry_strategy __props__["revision"] = revision + __props__["tags"] = tags __props__["timeout"] = timeout __props__["type"] = type return JobDefinition(resource_name, opts=opts, __props__=__props__) @@ -210,6 +216,14 @@ def revision(self) -> pulumi.Output[int]: """ return pulumi.get(self, "revision") + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Key-value map of resource tags + """ + return pulumi.get(self, "tags") + @property @pulumi.getter def timeout(self) -> pulumi.Output[Optional['outputs.JobDefinitionTimeout']]: diff --git a/sdk/python/pulumi_aws/batch/job_queue.py b/sdk/python/pulumi_aws/batch/job_queue.py index 07752ebf0e0..e1f8fdc3ace 100644 --- a/sdk/python/pulumi_aws/batch/job_queue.py +++ b/sdk/python/pulumi_aws/batch/job_queue.py @@ -19,6 +19,7 @@ def __init__(__self__, name: Optional[pulumi.Input[str]] = None, priority: Optional[pulumi.Input[int]] = None, state: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None, __name__=None, __opts__=None): @@ -50,6 +51,7 @@ def __init__(__self__, :param pulumi.Input[int] priority: The priority of the job queue. Job queues with a higher priority are evaluated first when associated with the same compute environment. :param pulumi.Input[str] state: The state of the job queue. Must be one of: `ENABLED` or `DISABLED` + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map of resource tags """ if __name__ is not None: warnings.warn("explicit use of __name__ is deprecated", DeprecationWarning) @@ -78,6 +80,7 @@ def __init__(__self__, if state is None: raise TypeError("Missing required property 'state'") __props__['state'] = state + __props__['tags'] = tags __props__['arn'] = None super(JobQueue, __self__).__init__( 'aws:batch/jobQueue:JobQueue', @@ -93,7 +96,8 @@ def get(resource_name: str, compute_environments: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, name: Optional[pulumi.Input[str]] = None, priority: Optional[pulumi.Input[int]] = None, - state: Optional[pulumi.Input[str]] = None) -> 'JobQueue': + state: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None) -> 'JobQueue': """ Get an existing JobQueue resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -110,6 +114,7 @@ def get(resource_name: str, :param pulumi.Input[int] priority: The priority of the job queue. Job queues with a higher priority are evaluated first when associated with the same compute environment. :param pulumi.Input[str] state: The state of the job queue. Must be one of: `ENABLED` or `DISABLED` + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map of resource tags """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -120,6 +125,7 @@ def get(resource_name: str, __props__["name"] = name __props__["priority"] = priority __props__["state"] = state + __props__["tags"] = tags return JobQueue(resource_name, opts=opts, __props__=__props__) @property @@ -166,6 +172,14 @@ def state(self) -> pulumi.Output[str]: """ return pulumi.get(self, "state") + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Key-value map of resource tags + """ + return pulumi.get(self, "tags") + def translate_output_property(self, prop): return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop diff --git a/sdk/python/pulumi_aws/cloudfront/distribution.py b/sdk/python/pulumi_aws/cloudfront/distribution.py index 07689cb6031..f82f582ada8 100644 --- a/sdk/python/pulumi_aws/cloudfront/distribution.py +++ b/sdk/python/pulumi_aws/cloudfront/distribution.py @@ -274,11 +274,13 @@ def __init__(__self__, :param pulumi.Input[bool] wait_for_deployment: If enabled, the resource will wait for the distribution status to change from `InProgress` to `Deployed`. Setting this to`false` will skip the process. Default: `true`. - :param pulumi.Input[str] web_acl_id: If you're using AWS WAF to filter CloudFront - requests, the Id of the AWS WAF web ACL that is associated with the - distribution. The WAF Web ACL must exist in the WAF Global (CloudFront) - region and the credentials configuring this argument must have - `waf:GetWebACL` permissions assigned. If using WAFv2, provide the ARN of the web ACL. + :param pulumi.Input[str] web_acl_id: A unique identifier that specifies the AWS WAF web ACL, + if any, to associate with this distribution. + To specify a web ACL created using the latest version of AWS WAF (WAFv2), use the ACL ARN, + for example `aws_wafv2_web_acl.example.arn`. To specify a web + ACL created using AWS WAF Classic, use the ACL ID, for example `aws_waf_web_acl.example.id`. + The WAF Web ACL must exist in the WAF Global (CloudFront) region and the + credentials configuring this argument must have `waf:GetWebACL` permissions assigned. """ if __name__ is not None: warnings.warn("explicit use of __name__ is deprecated", DeprecationWarning) @@ -437,11 +439,13 @@ def get(resource_name: str, :param pulumi.Input[bool] wait_for_deployment: If enabled, the resource will wait for the distribution status to change from `InProgress` to `Deployed`. Setting this to`false` will skip the process. Default: `true`. - :param pulumi.Input[str] web_acl_id: If you're using AWS WAF to filter CloudFront - requests, the Id of the AWS WAF web ACL that is associated with the - distribution. The WAF Web ACL must exist in the WAF Global (CloudFront) - region and the credentials configuring this argument must have - `waf:GetWebACL` permissions assigned. If using WAFv2, provide the ARN of the web ACL. + :param pulumi.Input[str] web_acl_id: A unique identifier that specifies the AWS WAF web ACL, + if any, to associate with this distribution. + To specify a web ACL created using the latest version of AWS WAF (WAFv2), use the ACL ARN, + for example `aws_wafv2_web_acl.example.arn`. To specify a web + ACL created using AWS WAF Classic, use the ACL ID, for example `aws_waf_web_acl.example.id`. + The WAF Web ACL must exist in the WAF Global (CloudFront) region and the + credentials configuring this argument must have `waf:GetWebACL` permissions assigned. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -727,11 +731,13 @@ def wait_for_deployment(self) -> pulumi.Output[Optional[bool]]: @pulumi.getter(name="webAclId") def web_acl_id(self) -> pulumi.Output[Optional[str]]: """ - If you're using AWS WAF to filter CloudFront - requests, the Id of the AWS WAF web ACL that is associated with the - distribution. The WAF Web ACL must exist in the WAF Global (CloudFront) - region and the credentials configuring this argument must have - `waf:GetWebACL` permissions assigned. If using WAFv2, provide the ARN of the web ACL. + A unique identifier that specifies the AWS WAF web ACL, + if any, to associate with this distribution. + To specify a web ACL created using the latest version of AWS WAF (WAFv2), use the ACL ARN, + for example `aws_wafv2_web_acl.example.arn`. To specify a web + ACL created using AWS WAF Classic, use the ACL ID, for example `aws_waf_web_acl.example.id`. + The WAF Web ACL must exist in the WAF Global (CloudFront) region and the + credentials configuring this argument must have `waf:GetWebACL` permissions assigned. """ return pulumi.get(self, "web_acl_id") diff --git a/sdk/python/pulumi_aws/codeartifact/__init__.py b/sdk/python/pulumi_aws/codeartifact/__init__.py index acea8225aeb..dab352a72af 100644 --- a/sdk/python/pulumi_aws/codeartifact/__init__.py +++ b/sdk/python/pulumi_aws/codeartifact/__init__.py @@ -5,6 +5,8 @@ # Export this package's modules as members: from .domain import * from .domain_permissions import * +from .get_authorization_token import * from .repository import * +from .repository_permissions_policy import * from ._inputs import * from . import outputs diff --git a/sdk/python/pulumi_aws/codeartifact/get_authorization_token.py b/sdk/python/pulumi_aws/codeartifact/get_authorization_token.py new file mode 100644 index 00000000000..5f7cf722945 --- /dev/null +++ b/sdk/python/pulumi_aws/codeartifact/get_authorization_token.py @@ -0,0 +1,133 @@ +# 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 warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union +from .. import _utilities, _tables + +__all__ = [ + 'GetAuthorizationTokenResult', + 'AwaitableGetAuthorizationTokenResult', + 'get_authorization_token', +] + +@pulumi.output_type +class GetAuthorizationTokenResult: + """ + A collection of values returned by getAuthorizationToken. + """ + def __init__(__self__, authorization_token=None, domain=None, domain_owner=None, duration_seconds=None, expiration=None, id=None): + if authorization_token and not isinstance(authorization_token, str): + raise TypeError("Expected argument 'authorization_token' to be a str") + pulumi.set(__self__, "authorization_token", authorization_token) + if domain and not isinstance(domain, str): + raise TypeError("Expected argument 'domain' to be a str") + pulumi.set(__self__, "domain", domain) + if domain_owner and not isinstance(domain_owner, str): + raise TypeError("Expected argument 'domain_owner' to be a str") + pulumi.set(__self__, "domain_owner", domain_owner) + if duration_seconds and not isinstance(duration_seconds, int): + raise TypeError("Expected argument 'duration_seconds' to be a int") + pulumi.set(__self__, "duration_seconds", duration_seconds) + if expiration and not isinstance(expiration, str): + raise TypeError("Expected argument 'expiration' to be a str") + pulumi.set(__self__, "expiration", expiration) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter(name="authorizationToken") + def authorization_token(self) -> str: + """ + Temporary authorization token. + """ + return pulumi.get(self, "authorization_token") + + @property + @pulumi.getter + def domain(self) -> str: + return pulumi.get(self, "domain") + + @property + @pulumi.getter(name="domainOwner") + def domain_owner(self) -> str: + return pulumi.get(self, "domain_owner") + + @property + @pulumi.getter(name="durationSeconds") + def duration_seconds(self) -> Optional[int]: + return pulumi.get(self, "duration_seconds") + + @property + @pulumi.getter + def expiration(self) -> str: + """ + The time in UTC RFC3339 format when the authorization token expires. + """ + return pulumi.get(self, "expiration") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + +class AwaitableGetAuthorizationTokenResult(GetAuthorizationTokenResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetAuthorizationTokenResult( + authorization_token=self.authorization_token, + domain=self.domain, + domain_owner=self.domain_owner, + duration_seconds=self.duration_seconds, + expiration=self.expiration, + id=self.id) + + +def get_authorization_token(domain: Optional[str] = None, + domain_owner: Optional[str] = None, + duration_seconds: Optional[int] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAuthorizationTokenResult: + """ + The CodeArtifact Authorization Token data source generates a temporary authentication token for accessing repositories in a CodeArtifact domain. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + test = aws.codeartifact.get_authorization_token(domain=aws_codeartifact_domain["test"]["domain"]) + ``` + + + :param str domain: The name of the domain that is in scope for the generated authorization token. + :param str domain_owner: The account number of the AWS account that owns the domain. + :param int duration_seconds: The time, in seconds, that the generated authorization token is valid. Valid values are `0` and between `900` and `43200`. + """ + __args__ = dict() + __args__['domain'] = domain + __args__['domainOwner'] = domain_owner + __args__['durationSeconds'] = duration_seconds + if opts is None: + opts = pulumi.InvokeOptions() + if opts.version is None: + opts.version = _utilities.get_version() + __ret__ = pulumi.runtime.invoke('aws:codeartifact/getAuthorizationToken:getAuthorizationToken', __args__, opts=opts, typ=GetAuthorizationTokenResult).value + + return AwaitableGetAuthorizationTokenResult( + authorization_token=__ret__.authorization_token, + domain=__ret__.domain, + domain_owner=__ret__.domain_owner, + duration_seconds=__ret__.duration_seconds, + expiration=__ret__.expiration, + id=__ret__.id) diff --git a/sdk/python/pulumi_aws/codeartifact/repository_permissions_policy.py b/sdk/python/pulumi_aws/codeartifact/repository_permissions_policy.py new file mode 100644 index 00000000000..d84aa771f5c --- /dev/null +++ b/sdk/python/pulumi_aws/codeartifact/repository_permissions_policy.py @@ -0,0 +1,161 @@ +# 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 warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union +from .. import _utilities, _tables + +__all__ = ['RepositoryPermissionsPolicy'] + + +class RepositoryPermissionsPolicy(pulumi.CustomResource): + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + domain: Optional[pulumi.Input[str]] = None, + domain_owner: Optional[pulumi.Input[str]] = None, + policy_document: Optional[pulumi.Input[str]] = None, + policy_revision: Optional[pulumi.Input[str]] = None, + repository: Optional[pulumi.Input[str]] = None, + __props__=None, + __name__=None, + __opts__=None): + """ + Provides a CodeArtifact Repostory Permissions Policy Resource. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] domain: The name of the domain on which to set the resource policy. + :param pulumi.Input[str] domain_owner: The account number of the AWS account that owns the domain. + :param pulumi.Input[str] policy_document: A JSON policy string to be set as the access control resource policy on the provided domain. + :param pulumi.Input[str] policy_revision: The current revision of the resource policy to be set. This revision is used for optimistic locking, which prevents others from overwriting your changes to the domain's resource policy. + :param pulumi.Input[str] repository: The name of the repository to set the resource policy on. + """ + if __name__ is not None: + warnings.warn("explicit use of __name__ is deprecated", DeprecationWarning) + resource_name = __name__ + if __opts__ is not None: + warnings.warn("explicit use of __opts__ is deprecated, use 'opts' instead", DeprecationWarning) + opts = __opts__ + if opts is None: + opts = pulumi.ResourceOptions() + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.version is None: + opts.version = _utilities.get_version() + 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__ = dict() + + if domain is None: + raise TypeError("Missing required property 'domain'") + __props__['domain'] = domain + __props__['domain_owner'] = domain_owner + if policy_document is None: + raise TypeError("Missing required property 'policy_document'") + __props__['policy_document'] = policy_document + __props__['policy_revision'] = policy_revision + if repository is None: + raise TypeError("Missing required property 'repository'") + __props__['repository'] = repository + __props__['resource_arn'] = None + super(RepositoryPermissionsPolicy, __self__).__init__( + 'aws:codeartifact/repositoryPermissionsPolicy:RepositoryPermissionsPolicy', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + domain: Optional[pulumi.Input[str]] = None, + domain_owner: Optional[pulumi.Input[str]] = None, + policy_document: Optional[pulumi.Input[str]] = None, + policy_revision: Optional[pulumi.Input[str]] = None, + repository: Optional[pulumi.Input[str]] = None, + resource_arn: Optional[pulumi.Input[str]] = None) -> 'RepositoryPermissionsPolicy': + """ + Get an existing RepositoryPermissionsPolicy 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] domain: The name of the domain on which to set the resource policy. + :param pulumi.Input[str] domain_owner: The account number of the AWS account that owns the domain. + :param pulumi.Input[str] policy_document: A JSON policy string to be set as the access control resource policy on the provided domain. + :param pulumi.Input[str] policy_revision: The current revision of the resource policy to be set. This revision is used for optimistic locking, which prevents others from overwriting your changes to the domain's resource policy. + :param pulumi.Input[str] repository: The name of the repository to set the resource policy on. + :param pulumi.Input[str] resource_arn: The ARN of the resource associated with the resource policy. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = dict() + + __props__["domain"] = domain + __props__["domain_owner"] = domain_owner + __props__["policy_document"] = policy_document + __props__["policy_revision"] = policy_revision + __props__["repository"] = repository + __props__["resource_arn"] = resource_arn + return RepositoryPermissionsPolicy(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def domain(self) -> pulumi.Output[str]: + """ + The name of the domain on which to set the resource policy. + """ + return pulumi.get(self, "domain") + + @property + @pulumi.getter(name="domainOwner") + def domain_owner(self) -> pulumi.Output[str]: + """ + The account number of the AWS account that owns the domain. + """ + return pulumi.get(self, "domain_owner") + + @property + @pulumi.getter(name="policyDocument") + def policy_document(self) -> pulumi.Output[str]: + """ + A JSON policy string to be set as the access control resource policy on the provided domain. + """ + return pulumi.get(self, "policy_document") + + @property + @pulumi.getter(name="policyRevision") + def policy_revision(self) -> pulumi.Output[str]: + """ + The current revision of the resource policy to be set. This revision is used for optimistic locking, which prevents others from overwriting your changes to the domain's resource policy. + """ + return pulumi.get(self, "policy_revision") + + @property + @pulumi.getter + def repository(self) -> pulumi.Output[str]: + """ + The name of the repository to set the resource policy on. + """ + return pulumi.get(self, "repository") + + @property + @pulumi.getter(name="resourceArn") + def resource_arn(self) -> pulumi.Output[str]: + """ + The ARN of the resource associated with the resource policy. + """ + return pulumi.get(self, "resource_arn") + + def translate_output_property(self, prop): + return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + def translate_input_property(self, prop): + return _tables.SNAKE_TO_CAMEL_CASE_TABLE.get(prop) or prop + diff --git a/sdk/python/pulumi_aws/config/outputs.py b/sdk/python/pulumi_aws/config/outputs.py index 354c63cca6d..4d064016e5b 100644 --- a/sdk/python/pulumi_aws/config/outputs.py +++ b/sdk/python/pulumi_aws/config/outputs.py @@ -223,6 +223,7 @@ def __init__(__self__, *, sts: Optional[str] = None, swf: Optional[str] = None, synthetics: Optional[str] = None, + timestreamwrite: Optional[str] = None, transfer: Optional[str] = None, waf: Optional[str] = None, wafregional: Optional[str] = None, @@ -499,6 +500,8 @@ def __init__(__self__, *, pulumi.set(__self__, "swf", swf) if synthetics is not None: pulumi.set(__self__, "synthetics", synthetics) + if timestreamwrite is not None: + pulumi.set(__self__, "timestreamwrite", timestreamwrite) if transfer is not None: pulumi.set(__self__, "transfer", transfer) if waf is not None: @@ -1186,6 +1189,11 @@ def swf(self) -> Optional[str]: def synthetics(self) -> Optional[str]: return pulumi.get(self, "synthetics") + @property + @pulumi.getter + def timestreamwrite(self) -> Optional[str]: + return pulumi.get(self, "timestreamwrite") + @property @pulumi.getter def transfer(self) -> Optional[str]: diff --git a/sdk/python/pulumi_aws/docdb/cluster_instance.py b/sdk/python/pulumi_aws/docdb/cluster_instance.py index 6b7d37bb44a..32d6e3fb0a8 100644 --- a/sdk/python/pulumi_aws/docdb/cluster_instance.py +++ b/sdk/python/pulumi_aws/docdb/cluster_instance.py @@ -72,8 +72,8 @@ def __init__(__self__, :param pulumi.Input[str] ca_cert_identifier: (Optional) The identifier of the CA certificate for the DB instance. :param pulumi.Input[str] cluster_identifier: The identifier of the `docdb.Cluster` in which to launch this instance. :param pulumi.Input[str] engine: The name of the database engine to be used for the DocDB instance. Defaults to `docdb`. Valid Values: `docdb`. - :param pulumi.Input[str] identifier: The indentifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier. - :param pulumi.Input[str] identifier_prefix: Creates a unique identifier beginning with the specified prefix. Conflicts with `identifer`. + :param pulumi.Input[str] identifier: The identifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier. + :param pulumi.Input[str] identifier_prefix: Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. :param pulumi.Input[str] instance_class: The instance class to use. For details on CPU and memory, see [Scaling for DocDB Instances](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-cluster-manage-performance.html#db-cluster-manage-scaling-instance). DocDB currently supports the below instance classes. Please see [AWS Documentation](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-instance-classes.html#db-instance-class-specs) for complete details. - db.r4.large @@ -183,8 +183,8 @@ def get(resource_name: str, :param pulumi.Input[str] endpoint: The DNS address for this instance. May not be writable :param pulumi.Input[str] engine: The name of the database engine to be used for the DocDB instance. Defaults to `docdb`. Valid Values: `docdb`. :param pulumi.Input[str] engine_version: The database engine version - :param pulumi.Input[str] identifier: The indentifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier. - :param pulumi.Input[str] identifier_prefix: Creates a unique identifier beginning with the specified prefix. Conflicts with `identifer`. + :param pulumi.Input[str] identifier: The identifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier. + :param pulumi.Input[str] identifier_prefix: Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. :param pulumi.Input[str] instance_class: The instance class to use. For details on CPU and memory, see [Scaling for DocDB Instances](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-cluster-manage-performance.html#db-cluster-manage-scaling-instance). DocDB currently supports the below instance classes. Please see [AWS Documentation](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-instance-classes.html#db-instance-class-specs) for complete details. - db.r4.large @@ -325,7 +325,7 @@ def engine_version(self) -> pulumi.Output[str]: @pulumi.getter def identifier(self) -> pulumi.Output[str]: """ - The indentifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier. + The identifier for the DocDB instance, if omitted, this provider will assign a random, unique identifier. """ return pulumi.get(self, "identifier") @@ -333,7 +333,7 @@ def identifier(self) -> pulumi.Output[str]: @pulumi.getter(name="identifierPrefix") def identifier_prefix(self) -> pulumi.Output[str]: """ - Creates a unique identifier beginning with the specified prefix. Conflicts with `identifer`. + Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. """ return pulumi.get(self, "identifier_prefix") diff --git a/sdk/python/pulumi_aws/ec2/__init__.py b/sdk/python/pulumi_aws/ec2/__init__.py index 091c1195bee..e7b3b6695de 100644 --- a/sdk/python/pulumi_aws/ec2/__init__.py +++ b/sdk/python/pulumi_aws/ec2/__init__.py @@ -25,6 +25,7 @@ from .get_coip_pools import * from .get_customer_gateway import * from .get_instance import * +from .get_instance_type import * from .get_instance_type_offering import * from .get_instance_type_offerings import * from .get_instances import * diff --git a/sdk/python/pulumi_aws/ec2/_inputs.py b/sdk/python/pulumi_aws/ec2/_inputs.py index f1cc09b3fab..074370cb104 100644 --- a/sdk/python/pulumi_aws/ec2/_inputs.py +++ b/sdk/python/pulumi_aws/ec2/_inputs.py @@ -87,6 +87,10 @@ 'GetCoipPoolsFilterArgs', 'GetCustomerGatewayFilterArgs', 'GetInstanceFilterArgs', + 'GetInstanceTypeFpgaArgs', + 'GetInstanceTypeGpusArgs', + 'GetInstanceTypeInferenceAcceleratorArgs', + 'GetInstanceTypeInstanceDiskArgs', 'GetInstanceTypeOfferingFilterArgs', 'GetInstanceTypeOfferingsFilterArgs', 'GetInstancesFilterArgs', @@ -6152,6 +6156,192 @@ def values(self, value: Sequence[str]): pulumi.set(self, "values", value) +@pulumi.input_type +class GetInstanceTypeFpgaArgs: + def __init__(__self__, *, + count: int, + manufacturer: str, + memory_size: int, + name: str): + """ + :param int memory_size: Size of the instance memory, in MiB. + """ + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "manufacturer", manufacturer) + pulumi.set(__self__, "memory_size", memory_size) + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def count(self) -> int: + return pulumi.get(self, "count") + + @count.setter + def count(self, value: int): + pulumi.set(self, "count", value) + + @property + @pulumi.getter + def manufacturer(self) -> str: + return pulumi.get(self, "manufacturer") + + @manufacturer.setter + def manufacturer(self, value: str): + pulumi.set(self, "manufacturer", value) + + @property + @pulumi.getter(name="memorySize") + def memory_size(self) -> int: + """ + Size of the instance memory, in MiB. + """ + return pulumi.get(self, "memory_size") + + @memory_size.setter + def memory_size(self, value: int): + pulumi.set(self, "memory_size", value) + + @property + @pulumi.getter + def name(self) -> str: + return pulumi.get(self, "name") + + @name.setter + def name(self, value: str): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class GetInstanceTypeGpusArgs: + def __init__(__self__, *, + count: int, + manufacturer: str, + memory_size: int, + name: str): + """ + :param int memory_size: Size of the instance memory, in MiB. + """ + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "manufacturer", manufacturer) + pulumi.set(__self__, "memory_size", memory_size) + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def count(self) -> int: + return pulumi.get(self, "count") + + @count.setter + def count(self, value: int): + pulumi.set(self, "count", value) + + @property + @pulumi.getter + def manufacturer(self) -> str: + return pulumi.get(self, "manufacturer") + + @manufacturer.setter + def manufacturer(self, value: str): + pulumi.set(self, "manufacturer", value) + + @property + @pulumi.getter(name="memorySize") + def memory_size(self) -> int: + """ + Size of the instance memory, in MiB. + """ + return pulumi.get(self, "memory_size") + + @memory_size.setter + def memory_size(self, value: int): + pulumi.set(self, "memory_size", value) + + @property + @pulumi.getter + def name(self) -> str: + return pulumi.get(self, "name") + + @name.setter + def name(self, value: str): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class GetInstanceTypeInferenceAcceleratorArgs: + def __init__(__self__, *, + count: int, + manufacturer: str, + name: str): + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "manufacturer", manufacturer) + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def count(self) -> int: + return pulumi.get(self, "count") + + @count.setter + def count(self, value: int): + pulumi.set(self, "count", value) + + @property + @pulumi.getter + def manufacturer(self) -> str: + return pulumi.get(self, "manufacturer") + + @manufacturer.setter + def manufacturer(self, value: str): + pulumi.set(self, "manufacturer", value) + + @property + @pulumi.getter + def name(self) -> str: + return pulumi.get(self, "name") + + @name.setter + def name(self, value: str): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class GetInstanceTypeInstanceDiskArgs: + def __init__(__self__, *, + count: int, + size: int, + type: str): + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "size", size) + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def count(self) -> int: + return pulumi.get(self, "count") + + @count.setter + def count(self, value: int): + pulumi.set(self, "count", value) + + @property + @pulumi.getter + def size(self) -> int: + return pulumi.get(self, "size") + + @size.setter + def size(self, value: int): + pulumi.set(self, "size", value) + + @property + @pulumi.getter + def type(self) -> str: + return pulumi.get(self, "type") + + @type.setter + def type(self, value: str): + pulumi.set(self, "type", value) + + @pulumi.input_type class GetInstanceTypeOfferingFilterArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/ec2/get_instance_type.py b/sdk/python/pulumi_aws/ec2/get_instance_type.py new file mode 100644 index 00000000000..60ca039bd28 --- /dev/null +++ b/sdk/python/pulumi_aws/ec2/get_instance_type.py @@ -0,0 +1,714 @@ +# 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 warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union +from .. import _utilities, _tables +from . import outputs +from ._inputs import * + +__all__ = [ + 'GetInstanceTypeResult', + 'AwaitableGetInstanceTypeResult', + 'get_instance_type', +] + +@pulumi.output_type +class GetInstanceTypeResult: + """ + A collection of values returned by getInstanceType. + """ + def __init__(__self__, auto_recovery_supported=None, bare_metal=None, burstable_performance_supported=None, current_generation=None, dedicated_hosts_supported=None, default_cores=None, default_threads_per_core=None, default_vcpus=None, ebs_encryption_support=None, ebs_nvme_support=None, ebs_optimized_support=None, ebs_performance_baseline_bandwidth=None, ebs_performance_baseline_iops=None, ebs_performance_baseline_throughput=None, ebs_performance_maximum_bandwidth=None, ebs_performance_maximum_iops=None, ebs_performance_maximum_throughput=None, efa_supported=None, ena_support=None, fpgas=None, free_tier_eligible=None, gpuses=None, hibernation_supported=None, hypervisor=None, id=None, inference_accelerators=None, instance_disks=None, instance_storage_supported=None, instance_type=None, ipv6_supported=None, maximum_ipv4_addresses_per_interface=None, maximum_ipv6_addresses_per_interface=None, maximum_network_interfaces=None, memory_size=None, network_performance=None, supported_architectures=None, supported_placement_strategies=None, supported_root_device_types=None, supported_usages_classes=None, supported_virtualization_types=None, sustained_clock_speed=None, total_fpga_memory=None, total_gpu_memory=None, total_instance_storage=None, valid_cores=None, valid_threads_per_cores=None): + if auto_recovery_supported and not isinstance(auto_recovery_supported, bool): + raise TypeError("Expected argument 'auto_recovery_supported' to be a bool") + pulumi.set(__self__, "auto_recovery_supported", auto_recovery_supported) + if bare_metal and not isinstance(bare_metal, bool): + raise TypeError("Expected argument 'bare_metal' to be a bool") + pulumi.set(__self__, "bare_metal", bare_metal) + if burstable_performance_supported and not isinstance(burstable_performance_supported, bool): + raise TypeError("Expected argument 'burstable_performance_supported' to be a bool") + pulumi.set(__self__, "burstable_performance_supported", burstable_performance_supported) + if current_generation and not isinstance(current_generation, bool): + raise TypeError("Expected argument 'current_generation' to be a bool") + pulumi.set(__self__, "current_generation", current_generation) + if dedicated_hosts_supported and not isinstance(dedicated_hosts_supported, bool): + raise TypeError("Expected argument 'dedicated_hosts_supported' to be a bool") + pulumi.set(__self__, "dedicated_hosts_supported", dedicated_hosts_supported) + if default_cores and not isinstance(default_cores, int): + raise TypeError("Expected argument 'default_cores' to be a int") + pulumi.set(__self__, "default_cores", default_cores) + if default_threads_per_core and not isinstance(default_threads_per_core, int): + raise TypeError("Expected argument 'default_threads_per_core' to be a int") + pulumi.set(__self__, "default_threads_per_core", default_threads_per_core) + if default_vcpus and not isinstance(default_vcpus, int): + raise TypeError("Expected argument 'default_vcpus' to be a int") + pulumi.set(__self__, "default_vcpus", default_vcpus) + if ebs_encryption_support and not isinstance(ebs_encryption_support, str): + raise TypeError("Expected argument 'ebs_encryption_support' to be a str") + pulumi.set(__self__, "ebs_encryption_support", ebs_encryption_support) + if ebs_nvme_support and not isinstance(ebs_nvme_support, str): + raise TypeError("Expected argument 'ebs_nvme_support' to be a str") + pulumi.set(__self__, "ebs_nvme_support", ebs_nvme_support) + if ebs_optimized_support and not isinstance(ebs_optimized_support, str): + raise TypeError("Expected argument 'ebs_optimized_support' to be a str") + pulumi.set(__self__, "ebs_optimized_support", ebs_optimized_support) + if ebs_performance_baseline_bandwidth and not isinstance(ebs_performance_baseline_bandwidth, int): + raise TypeError("Expected argument 'ebs_performance_baseline_bandwidth' to be a int") + pulumi.set(__self__, "ebs_performance_baseline_bandwidth", ebs_performance_baseline_bandwidth) + if ebs_performance_baseline_iops and not isinstance(ebs_performance_baseline_iops, int): + raise TypeError("Expected argument 'ebs_performance_baseline_iops' to be a int") + pulumi.set(__self__, "ebs_performance_baseline_iops", ebs_performance_baseline_iops) + if ebs_performance_baseline_throughput and not isinstance(ebs_performance_baseline_throughput, float): + raise TypeError("Expected argument 'ebs_performance_baseline_throughput' to be a float") + pulumi.set(__self__, "ebs_performance_baseline_throughput", ebs_performance_baseline_throughput) + if ebs_performance_maximum_bandwidth and not isinstance(ebs_performance_maximum_bandwidth, int): + raise TypeError("Expected argument 'ebs_performance_maximum_bandwidth' to be a int") + pulumi.set(__self__, "ebs_performance_maximum_bandwidth", ebs_performance_maximum_bandwidth) + if ebs_performance_maximum_iops and not isinstance(ebs_performance_maximum_iops, int): + raise TypeError("Expected argument 'ebs_performance_maximum_iops' to be a int") + pulumi.set(__self__, "ebs_performance_maximum_iops", ebs_performance_maximum_iops) + if ebs_performance_maximum_throughput and not isinstance(ebs_performance_maximum_throughput, float): + raise TypeError("Expected argument 'ebs_performance_maximum_throughput' to be a float") + pulumi.set(__self__, "ebs_performance_maximum_throughput", ebs_performance_maximum_throughput) + if efa_supported and not isinstance(efa_supported, bool): + raise TypeError("Expected argument 'efa_supported' to be a bool") + pulumi.set(__self__, "efa_supported", efa_supported) + if ena_support and not isinstance(ena_support, str): + raise TypeError("Expected argument 'ena_support' to be a str") + pulumi.set(__self__, "ena_support", ena_support) + if fpgas and not isinstance(fpgas, list): + raise TypeError("Expected argument 'fpgas' to be a list") + pulumi.set(__self__, "fpgas", fpgas) + if free_tier_eligible and not isinstance(free_tier_eligible, bool): + raise TypeError("Expected argument 'free_tier_eligible' to be a bool") + pulumi.set(__self__, "free_tier_eligible", free_tier_eligible) + if gpuses and not isinstance(gpuses, list): + raise TypeError("Expected argument 'gpuses' to be a list") + pulumi.set(__self__, "gpuses", gpuses) + if hibernation_supported and not isinstance(hibernation_supported, bool): + raise TypeError("Expected argument 'hibernation_supported' to be a bool") + pulumi.set(__self__, "hibernation_supported", hibernation_supported) + if hypervisor and not isinstance(hypervisor, str): + raise TypeError("Expected argument 'hypervisor' to be a str") + pulumi.set(__self__, "hypervisor", hypervisor) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if inference_accelerators and not isinstance(inference_accelerators, list): + raise TypeError("Expected argument 'inference_accelerators' to be a list") + pulumi.set(__self__, "inference_accelerators", inference_accelerators) + if instance_disks and not isinstance(instance_disks, list): + raise TypeError("Expected argument 'instance_disks' to be a list") + pulumi.set(__self__, "instance_disks", instance_disks) + if instance_storage_supported and not isinstance(instance_storage_supported, bool): + raise TypeError("Expected argument 'instance_storage_supported' to be a bool") + pulumi.set(__self__, "instance_storage_supported", instance_storage_supported) + if instance_type and not isinstance(instance_type, str): + raise TypeError("Expected argument 'instance_type' to be a str") + pulumi.set(__self__, "instance_type", instance_type) + if ipv6_supported and not isinstance(ipv6_supported, bool): + raise TypeError("Expected argument 'ipv6_supported' to be a bool") + pulumi.set(__self__, "ipv6_supported", ipv6_supported) + if maximum_ipv4_addresses_per_interface and not isinstance(maximum_ipv4_addresses_per_interface, int): + raise TypeError("Expected argument 'maximum_ipv4_addresses_per_interface' to be a int") + pulumi.set(__self__, "maximum_ipv4_addresses_per_interface", maximum_ipv4_addresses_per_interface) + if maximum_ipv6_addresses_per_interface and not isinstance(maximum_ipv6_addresses_per_interface, int): + raise TypeError("Expected argument 'maximum_ipv6_addresses_per_interface' to be a int") + pulumi.set(__self__, "maximum_ipv6_addresses_per_interface", maximum_ipv6_addresses_per_interface) + if maximum_network_interfaces and not isinstance(maximum_network_interfaces, int): + raise TypeError("Expected argument 'maximum_network_interfaces' to be a int") + pulumi.set(__self__, "maximum_network_interfaces", maximum_network_interfaces) + if memory_size and not isinstance(memory_size, int): + raise TypeError("Expected argument 'memory_size' to be a int") + pulumi.set(__self__, "memory_size", memory_size) + if network_performance and not isinstance(network_performance, str): + raise TypeError("Expected argument 'network_performance' to be a str") + pulumi.set(__self__, "network_performance", network_performance) + if supported_architectures and not isinstance(supported_architectures, list): + raise TypeError("Expected argument 'supported_architectures' to be a list") + pulumi.set(__self__, "supported_architectures", supported_architectures) + if supported_placement_strategies and not isinstance(supported_placement_strategies, list): + raise TypeError("Expected argument 'supported_placement_strategies' to be a list") + pulumi.set(__self__, "supported_placement_strategies", supported_placement_strategies) + if supported_root_device_types and not isinstance(supported_root_device_types, list): + raise TypeError("Expected argument 'supported_root_device_types' to be a list") + pulumi.set(__self__, "supported_root_device_types", supported_root_device_types) + if supported_usages_classes and not isinstance(supported_usages_classes, list): + raise TypeError("Expected argument 'supported_usages_classes' to be a list") + pulumi.set(__self__, "supported_usages_classes", supported_usages_classes) + if supported_virtualization_types and not isinstance(supported_virtualization_types, list): + raise TypeError("Expected argument 'supported_virtualization_types' to be a list") + pulumi.set(__self__, "supported_virtualization_types", supported_virtualization_types) + if sustained_clock_speed and not isinstance(sustained_clock_speed, float): + raise TypeError("Expected argument 'sustained_clock_speed' to be a float") + pulumi.set(__self__, "sustained_clock_speed", sustained_clock_speed) + if total_fpga_memory and not isinstance(total_fpga_memory, int): + raise TypeError("Expected argument 'total_fpga_memory' to be a int") + pulumi.set(__self__, "total_fpga_memory", total_fpga_memory) + if total_gpu_memory and not isinstance(total_gpu_memory, int): + raise TypeError("Expected argument 'total_gpu_memory' to be a int") + pulumi.set(__self__, "total_gpu_memory", total_gpu_memory) + if total_instance_storage and not isinstance(total_instance_storage, int): + raise TypeError("Expected argument 'total_instance_storage' to be a int") + pulumi.set(__self__, "total_instance_storage", total_instance_storage) + if valid_cores and not isinstance(valid_cores, list): + raise TypeError("Expected argument 'valid_cores' to be a list") + pulumi.set(__self__, "valid_cores", valid_cores) + if valid_threads_per_cores and not isinstance(valid_threads_per_cores, list): + raise TypeError("Expected argument 'valid_threads_per_cores' to be a list") + pulumi.set(__self__, "valid_threads_per_cores", valid_threads_per_cores) + + @property + @pulumi.getter(name="autoRecoverySupported") + def auto_recovery_supported(self) -> bool: + """ + `true` if auto recovery is supported. + """ + return pulumi.get(self, "auto_recovery_supported") + + @property + @pulumi.getter(name="bareMetal") + def bare_metal(self) -> bool: + """ + `true` if it is a bare metal instance type. + """ + return pulumi.get(self, "bare_metal") + + @property + @pulumi.getter(name="burstablePerformanceSupported") + def burstable_performance_supported(self) -> bool: + """ + `true` if the instance type is a burstable performance instance type. + """ + return pulumi.get(self, "burstable_performance_supported") + + @property + @pulumi.getter(name="currentGeneration") + def current_generation(self) -> bool: + """ + `true` if the instance type is a current generation. + """ + return pulumi.get(self, "current_generation") + + @property + @pulumi.getter(name="dedicatedHostsSupported") + def dedicated_hosts_supported(self) -> bool: + """ + `true` if Dedicated Hosts are supported on the instance type. + """ + return pulumi.get(self, "dedicated_hosts_supported") + + @property + @pulumi.getter(name="defaultCores") + def default_cores(self) -> int: + """ + The default number of cores for the instance type. + """ + return pulumi.get(self, "default_cores") + + @property + @pulumi.getter(name="defaultThreadsPerCore") + def default_threads_per_core(self) -> int: + """ + The default number of threads per core for the instance type. + """ + return pulumi.get(self, "default_threads_per_core") + + @property + @pulumi.getter(name="defaultVcpus") + def default_vcpus(self) -> int: + """ + The default number of vCPUs for the instance type. + """ + return pulumi.get(self, "default_vcpus") + + @property + @pulumi.getter(name="ebsEncryptionSupport") + def ebs_encryption_support(self) -> str: + """ + Indicates whether Amazon EBS encryption is supported. + """ + return pulumi.get(self, "ebs_encryption_support") + + @property + @pulumi.getter(name="ebsNvmeSupport") + def ebs_nvme_support(self) -> str: + """ + Indicates whether non-volatile memory express (NVMe) is supported. + """ + return pulumi.get(self, "ebs_nvme_support") + + @property + @pulumi.getter(name="ebsOptimizedSupport") + def ebs_optimized_support(self) -> str: + """ + Indicates that the instance type is Amazon EBS-optimized. + """ + return pulumi.get(self, "ebs_optimized_support") + + @property + @pulumi.getter(name="ebsPerformanceBaselineBandwidth") + def ebs_performance_baseline_bandwidth(self) -> int: + """ + The baseline bandwidth performance for an EBS-optimized instance type, in Mbps. + """ + return pulumi.get(self, "ebs_performance_baseline_bandwidth") + + @property + @pulumi.getter(name="ebsPerformanceBaselineIops") + def ebs_performance_baseline_iops(self) -> int: + """ + The baseline input/output storage operations per seconds for an EBS-optimized instance type. + """ + return pulumi.get(self, "ebs_performance_baseline_iops") + + @property + @pulumi.getter(name="ebsPerformanceBaselineThroughput") + def ebs_performance_baseline_throughput(self) -> float: + """ + The baseline throughput performance for an EBS-optimized instance type, in MBps. + """ + return pulumi.get(self, "ebs_performance_baseline_throughput") + + @property + @pulumi.getter(name="ebsPerformanceMaximumBandwidth") + def ebs_performance_maximum_bandwidth(self) -> int: + """ + The maximum bandwidth performance for an EBS-optimized instance type, in Mbps. + """ + return pulumi.get(self, "ebs_performance_maximum_bandwidth") + + @property + @pulumi.getter(name="ebsPerformanceMaximumIops") + def ebs_performance_maximum_iops(self) -> int: + """ + The maximum input/output storage operations per second for an EBS-optimized instance type. + """ + return pulumi.get(self, "ebs_performance_maximum_iops") + + @property + @pulumi.getter(name="ebsPerformanceMaximumThroughput") + def ebs_performance_maximum_throughput(self) -> float: + """ + The maximum throughput performance for an EBS-optimized instance type, in MBps. + """ + return pulumi.get(self, "ebs_performance_maximum_throughput") + + @property + @pulumi.getter(name="efaSupported") + def efa_supported(self) -> bool: + """ + Indicates whether Elastic Fabric Adapter (EFA) is supported. + """ + return pulumi.get(self, "efa_supported") + + @property + @pulumi.getter(name="enaSupport") + def ena_support(self) -> str: + """ + Indicates whether Elastic Network Adapter (ENA) is supported. + """ + return pulumi.get(self, "ena_support") + + @property + @pulumi.getter + def fpgas(self) -> Sequence['outputs.GetInstanceTypeFpgaResult']: + """ + Describes the FPGA accelerator settings for the instance type. + * `fpgas.#.count` - The count of FPGA accelerators for the instance type. + * `fpgas.#.manufacturer` - The manufacturer of the FPGA accelerator. + * `fpgas.#.memory_size` - The size (in MiB) for the memory available to the FPGA accelerator. + * `fpgas.#.name` - The name of the FPGA accelerator. + """ + return pulumi.get(self, "fpgas") + + @property + @pulumi.getter(name="freeTierEligible") + def free_tier_eligible(self) -> bool: + """ + `true` if the instance type is eligible for the free tier. + """ + return pulumi.get(self, "free_tier_eligible") + + @property + @pulumi.getter + def gpuses(self) -> Sequence['outputs.GetInstanceTypeGpusResult']: + """ + Describes the GPU accelerators for the instance type. + * `gpus.#.count` - The number of GPUs for the instance type. + * `gpus.#.manufacturer` - The manufacturer of the GPU accelerator. + * `gpus.#.memory_size` - The size (in MiB) for the memory available to the GPU accelerator. + * `gpus.#.name` - The name of the GPU accelerator. + """ + return pulumi.get(self, "gpuses") + + @property + @pulumi.getter(name="hibernationSupported") + def hibernation_supported(self) -> bool: + """ + `true` if On-Demand hibernation is supported. + """ + return pulumi.get(self, "hibernation_supported") + + @property + @pulumi.getter + def hypervisor(self) -> str: + """ + Indicates the hypervisor used for the instance type. + * `inference_accelerators` Describes the Inference accelerators for the instance type. + * `inference_accelerators.#.count` - The number of Inference accelerators for the instance type. + * `inference_accelerators.#.manufacturer` - The manufacturer of the Inference accelerator. + * `inference_accelerators.#.name` - The name of the Inference accelerator. + """ + return pulumi.get(self, "hypervisor") + + @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="inferenceAccelerators") + def inference_accelerators(self) -> Sequence['outputs.GetInstanceTypeInferenceAcceleratorResult']: + return pulumi.get(self, "inference_accelerators") + + @property + @pulumi.getter(name="instanceDisks") + def instance_disks(self) -> Sequence['outputs.GetInstanceTypeInstanceDiskResult']: + """ + Describes the disks for the instance type. + * `instance_disks.#.count` - The number of disks with this configuration. + * `instance_disks.#.size` - The size of the disk in GB. + * `instance_disks.#.type` - The type of disk. + """ + return pulumi.get(self, "instance_disks") + + @property + @pulumi.getter(name="instanceStorageSupported") + def instance_storage_supported(self) -> bool: + """ + `true` if instance storage is supported. + """ + return pulumi.get(self, "instance_storage_supported") + + @property + @pulumi.getter(name="instanceType") + def instance_type(self) -> str: + return pulumi.get(self, "instance_type") + + @property + @pulumi.getter(name="ipv6Supported") + def ipv6_supported(self) -> bool: + """ + `true` if IPv6 is supported. + """ + return pulumi.get(self, "ipv6_supported") + + @property + @pulumi.getter(name="maximumIpv4AddressesPerInterface") + def maximum_ipv4_addresses_per_interface(self) -> int: + """ + The maximum number of IPv4 addresses per network interface. + """ + return pulumi.get(self, "maximum_ipv4_addresses_per_interface") + + @property + @pulumi.getter(name="maximumIpv6AddressesPerInterface") + def maximum_ipv6_addresses_per_interface(self) -> int: + """ + The maximum number of IPv6 addresses per network interface. + """ + return pulumi.get(self, "maximum_ipv6_addresses_per_interface") + + @property + @pulumi.getter(name="maximumNetworkInterfaces") + def maximum_network_interfaces(self) -> int: + """ + The maximum number of network interfaces for the instance type. + """ + return pulumi.get(self, "maximum_network_interfaces") + + @property + @pulumi.getter(name="memorySize") + def memory_size(self) -> int: + """ + Size of the instance memory, in MiB. + """ + return pulumi.get(self, "memory_size") + + @property + @pulumi.getter(name="networkPerformance") + def network_performance(self) -> str: + """ + Describes the network performance. + """ + return pulumi.get(self, "network_performance") + + @property + @pulumi.getter(name="supportedArchitectures") + def supported_architectures(self) -> Sequence[str]: + """ + A list of architectures supported by the instance type. + """ + return pulumi.get(self, "supported_architectures") + + @property + @pulumi.getter(name="supportedPlacementStrategies") + def supported_placement_strategies(self) -> Sequence[str]: + """ + A list of supported placement groups types. + """ + return pulumi.get(self, "supported_placement_strategies") + + @property + @pulumi.getter(name="supportedRootDeviceTypes") + def supported_root_device_types(self) -> Sequence[str]: + """ + Indicates the supported root device types. + """ + return pulumi.get(self, "supported_root_device_types") + + @property + @pulumi.getter(name="supportedUsagesClasses") + def supported_usages_classes(self) -> Sequence[str]: + """ + Indicates whether the instance type is offered for spot or On-Demand. + """ + return pulumi.get(self, "supported_usages_classes") + + @property + @pulumi.getter(name="supportedVirtualizationTypes") + def supported_virtualization_types(self) -> Sequence[str]: + """ + The supported virtualization types. + """ + return pulumi.get(self, "supported_virtualization_types") + + @property + @pulumi.getter(name="sustainedClockSpeed") + def sustained_clock_speed(self) -> float: + """ + The speed of the processor, in GHz. + """ + return pulumi.get(self, "sustained_clock_speed") + + @property + @pulumi.getter(name="totalFpgaMemory") + def total_fpga_memory(self) -> int: + """ + The total memory of all FPGA accelerators for the instance type (in MiB). + """ + return pulumi.get(self, "total_fpga_memory") + + @property + @pulumi.getter(name="totalGpuMemory") + def total_gpu_memory(self) -> int: + """ + The total size of the memory for the GPU accelerators for the instance type (in MiB). + """ + return pulumi.get(self, "total_gpu_memory") + + @property + @pulumi.getter(name="totalInstanceStorage") + def total_instance_storage(self) -> int: + """ + The total size of the instance disks, in GB. + """ + return pulumi.get(self, "total_instance_storage") + + @property + @pulumi.getter(name="validCores") + def valid_cores(self) -> Sequence[int]: + """ + List of the valid number of cores that can be configured for the instance type. + """ + return pulumi.get(self, "valid_cores") + + @property + @pulumi.getter(name="validThreadsPerCores") + def valid_threads_per_cores(self) -> Sequence[int]: + """ + List of the valid number of threads per core that can be configured for the instance type. + """ + return pulumi.get(self, "valid_threads_per_cores") + + +class AwaitableGetInstanceTypeResult(GetInstanceTypeResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetInstanceTypeResult( + auto_recovery_supported=self.auto_recovery_supported, + bare_metal=self.bare_metal, + burstable_performance_supported=self.burstable_performance_supported, + current_generation=self.current_generation, + dedicated_hosts_supported=self.dedicated_hosts_supported, + default_cores=self.default_cores, + default_threads_per_core=self.default_threads_per_core, + default_vcpus=self.default_vcpus, + ebs_encryption_support=self.ebs_encryption_support, + ebs_nvme_support=self.ebs_nvme_support, + ebs_optimized_support=self.ebs_optimized_support, + ebs_performance_baseline_bandwidth=self.ebs_performance_baseline_bandwidth, + ebs_performance_baseline_iops=self.ebs_performance_baseline_iops, + ebs_performance_baseline_throughput=self.ebs_performance_baseline_throughput, + ebs_performance_maximum_bandwidth=self.ebs_performance_maximum_bandwidth, + ebs_performance_maximum_iops=self.ebs_performance_maximum_iops, + ebs_performance_maximum_throughput=self.ebs_performance_maximum_throughput, + efa_supported=self.efa_supported, + ena_support=self.ena_support, + fpgas=self.fpgas, + free_tier_eligible=self.free_tier_eligible, + gpuses=self.gpuses, + hibernation_supported=self.hibernation_supported, + hypervisor=self.hypervisor, + id=self.id, + inference_accelerators=self.inference_accelerators, + instance_disks=self.instance_disks, + instance_storage_supported=self.instance_storage_supported, + instance_type=self.instance_type, + ipv6_supported=self.ipv6_supported, + maximum_ipv4_addresses_per_interface=self.maximum_ipv4_addresses_per_interface, + maximum_ipv6_addresses_per_interface=self.maximum_ipv6_addresses_per_interface, + maximum_network_interfaces=self.maximum_network_interfaces, + memory_size=self.memory_size, + network_performance=self.network_performance, + supported_architectures=self.supported_architectures, + supported_placement_strategies=self.supported_placement_strategies, + supported_root_device_types=self.supported_root_device_types, + supported_usages_classes=self.supported_usages_classes, + supported_virtualization_types=self.supported_virtualization_types, + sustained_clock_speed=self.sustained_clock_speed, + total_fpga_memory=self.total_fpga_memory, + total_gpu_memory=self.total_gpu_memory, + total_instance_storage=self.total_instance_storage, + valid_cores=self.valid_cores, + valid_threads_per_cores=self.valid_threads_per_cores) + + +def get_instance_type(default_cores: Optional[int] = None, + default_threads_per_core: Optional[int] = None, + fpgas: Optional[Sequence[pulumi.InputType['GetInstanceTypeFpgaArgs']]] = None, + gpuses: Optional[Sequence[pulumi.InputType['GetInstanceTypeGpusArgs']]] = None, + hypervisor: Optional[str] = None, + inference_accelerators: Optional[Sequence[pulumi.InputType['GetInstanceTypeInferenceAcceleratorArgs']]] = None, + instance_disks: Optional[Sequence[pulumi.InputType['GetInstanceTypeInstanceDiskArgs']]] = None, + instance_type: Optional[str] = None, + maximum_ipv6_addresses_per_interface: Optional[int] = None, + total_fpga_memory: Optional[int] = None, + total_gpu_memory: Optional[int] = None, + total_instance_storage: Optional[int] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetInstanceTypeResult: + """ + Get characteristics for a single EC2 Instance Type. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.ec2.get_instance_type(instance_type="t2.micro") + ``` + + + :param int default_cores: The default number of cores for the instance type. + :param int default_threads_per_core: The default number of threads per core for the instance type. + :param Sequence[pulumi.InputType['GetInstanceTypeFpgaArgs']] fpgas: Describes the FPGA accelerator settings for the instance type. + * `fpgas.#.count` - The count of FPGA accelerators for the instance type. + * `fpgas.#.manufacturer` - The manufacturer of the FPGA accelerator. + * `fpgas.#.memory_size` - The size (in MiB) for the memory available to the FPGA accelerator. + * `fpgas.#.name` - The name of the FPGA accelerator. + :param Sequence[pulumi.InputType['GetInstanceTypeGpusArgs']] gpuses: Describes the GPU accelerators for the instance type. + * `gpus.#.count` - The number of GPUs for the instance type. + * `gpus.#.manufacturer` - The manufacturer of the GPU accelerator. + * `gpus.#.memory_size` - The size (in MiB) for the memory available to the GPU accelerator. + * `gpus.#.name` - The name of the GPU accelerator. + :param str hypervisor: Indicates the hypervisor used for the instance type. + * `inference_accelerators` Describes the Inference accelerators for the instance type. + * `inference_accelerators.#.count` - The number of Inference accelerators for the instance type. + * `inference_accelerators.#.manufacturer` - The manufacturer of the Inference accelerator. + * `inference_accelerators.#.name` - The name of the Inference accelerator. + :param Sequence[pulumi.InputType['GetInstanceTypeInstanceDiskArgs']] instance_disks: Describes the disks for the instance type. + * `instance_disks.#.count` - The number of disks with this configuration. + * `instance_disks.#.size` - The size of the disk in GB. + * `instance_disks.#.type` - The type of disk. + :param str instance_type: Instance + :param int maximum_ipv6_addresses_per_interface: The maximum number of IPv6 addresses per network interface. + :param int total_fpga_memory: The total memory of all FPGA accelerators for the instance type (in MiB). + :param int total_gpu_memory: The total size of the memory for the GPU accelerators for the instance type (in MiB). + :param int total_instance_storage: The total size of the instance disks, in GB. + """ + __args__ = dict() + __args__['defaultCores'] = default_cores + __args__['defaultThreadsPerCore'] = default_threads_per_core + __args__['fpgas'] = fpgas + __args__['gpuses'] = gpuses + __args__['hypervisor'] = hypervisor + __args__['inferenceAccelerators'] = inference_accelerators + __args__['instanceDisks'] = instance_disks + __args__['instanceType'] = instance_type + __args__['maximumIpv6AddressesPerInterface'] = maximum_ipv6_addresses_per_interface + __args__['totalFpgaMemory'] = total_fpga_memory + __args__['totalGpuMemory'] = total_gpu_memory + __args__['totalInstanceStorage'] = total_instance_storage + if opts is None: + opts = pulumi.InvokeOptions() + if opts.version is None: + opts.version = _utilities.get_version() + __ret__ = pulumi.runtime.invoke('aws:ec2/getInstanceType:getInstanceType', __args__, opts=opts, typ=GetInstanceTypeResult).value + + return AwaitableGetInstanceTypeResult( + auto_recovery_supported=__ret__.auto_recovery_supported, + bare_metal=__ret__.bare_metal, + burstable_performance_supported=__ret__.burstable_performance_supported, + current_generation=__ret__.current_generation, + dedicated_hosts_supported=__ret__.dedicated_hosts_supported, + default_cores=__ret__.default_cores, + default_threads_per_core=__ret__.default_threads_per_core, + default_vcpus=__ret__.default_vcpus, + ebs_encryption_support=__ret__.ebs_encryption_support, + ebs_nvme_support=__ret__.ebs_nvme_support, + ebs_optimized_support=__ret__.ebs_optimized_support, + ebs_performance_baseline_bandwidth=__ret__.ebs_performance_baseline_bandwidth, + ebs_performance_baseline_iops=__ret__.ebs_performance_baseline_iops, + ebs_performance_baseline_throughput=__ret__.ebs_performance_baseline_throughput, + ebs_performance_maximum_bandwidth=__ret__.ebs_performance_maximum_bandwidth, + ebs_performance_maximum_iops=__ret__.ebs_performance_maximum_iops, + ebs_performance_maximum_throughput=__ret__.ebs_performance_maximum_throughput, + efa_supported=__ret__.efa_supported, + ena_support=__ret__.ena_support, + fpgas=__ret__.fpgas, + free_tier_eligible=__ret__.free_tier_eligible, + gpuses=__ret__.gpuses, + hibernation_supported=__ret__.hibernation_supported, + hypervisor=__ret__.hypervisor, + id=__ret__.id, + inference_accelerators=__ret__.inference_accelerators, + instance_disks=__ret__.instance_disks, + instance_storage_supported=__ret__.instance_storage_supported, + instance_type=__ret__.instance_type, + ipv6_supported=__ret__.ipv6_supported, + maximum_ipv4_addresses_per_interface=__ret__.maximum_ipv4_addresses_per_interface, + maximum_ipv6_addresses_per_interface=__ret__.maximum_ipv6_addresses_per_interface, + maximum_network_interfaces=__ret__.maximum_network_interfaces, + memory_size=__ret__.memory_size, + network_performance=__ret__.network_performance, + supported_architectures=__ret__.supported_architectures, + supported_placement_strategies=__ret__.supported_placement_strategies, + supported_root_device_types=__ret__.supported_root_device_types, + supported_usages_classes=__ret__.supported_usages_classes, + supported_virtualization_types=__ret__.supported_virtualization_types, + sustained_clock_speed=__ret__.sustained_clock_speed, + total_fpga_memory=__ret__.total_fpga_memory, + total_gpu_memory=__ret__.total_gpu_memory, + total_instance_storage=__ret__.total_instance_storage, + valid_cores=__ret__.valid_cores, + valid_threads_per_cores=__ret__.valid_threads_per_cores) diff --git a/sdk/python/pulumi_aws/ec2/get_vpc_endpoint_service.py b/sdk/python/pulumi_aws/ec2/get_vpc_endpoint_service.py index 4566030345f..7cbac273a3d 100644 --- a/sdk/python/pulumi_aws/ec2/get_vpc_endpoint_service.py +++ b/sdk/python/pulumi_aws/ec2/get_vpc_endpoint_service.py @@ -158,9 +158,6 @@ def service_name(self) -> str: @property @pulumi.getter(name="serviceType") def service_type(self) -> str: - """ - The service type, `Gateway` or `Interface`. - """ return pulumi.get(self, "service_type") @property @@ -206,6 +203,7 @@ def __await__(self): def get_vpc_endpoint_service(filters: Optional[Sequence[pulumi.InputType['GetVpcEndpointServiceFilterArgs']]] = None, service: Optional[str] = None, service_name: Optional[str] = None, + service_type: Optional[str] = None, tags: Optional[Mapping[str, str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVpcEndpointServiceResult: """ @@ -219,7 +217,8 @@ def get_vpc_endpoint_service(filters: Optional[Sequence[pulumi.InputType['GetVpc import pulumi import pulumi_aws as aws - s3 = aws.ec2.get_vpc_endpoint_service(service="s3") + s3 = aws.ec2.get_vpc_endpoint_service(service="s3", + service_type="Gateway") # Create a VPC foo = aws.ec2.Vpc("foo", cidr_block="10.0.0.0/16") # Create a VPC endpoint @@ -251,12 +250,14 @@ def get_vpc_endpoint_service(filters: Optional[Sequence[pulumi.InputType['GetVpc :param Sequence[pulumi.InputType['GetVpcEndpointServiceFilterArgs']] filters: Configuration block(s) for filtering. Detailed below. :param str service: The common name of an AWS service (e.g. `s3`). :param str service_name: The service name that is specified when creating a VPC endpoint. For AWS services the service name is usually in the form `com.amazonaws..` (the SageMaker Notebook service is an exception to this rule, the service name is in the form `aws.sagemaker..notebook`). + :param str service_type: The service type, `Gateway` or `Interface`. :param Mapping[str, str] tags: A map of tags, each pair of which must exactly match a pair on the desired VPC Endpoint Service. """ __args__ = dict() __args__['filters'] = filters __args__['service'] = service __args__['serviceName'] = service_name + __args__['serviceType'] = service_type __args__['tags'] = tags if opts is None: opts = pulumi.InvokeOptions() diff --git a/sdk/python/pulumi_aws/ec2/outputs.py b/sdk/python/pulumi_aws/ec2/outputs.py index 8a64848f375..de7881e1a09 100644 --- a/sdk/python/pulumi_aws/ec2/outputs.py +++ b/sdk/python/pulumi_aws/ec2/outputs.py @@ -93,6 +93,10 @@ 'GetInstanceFilterResult', 'GetInstanceMetadataOptionResult', 'GetInstanceRootBlockDeviceResult', + 'GetInstanceTypeFpgaResult', + 'GetInstanceTypeGpusResult', + 'GetInstanceTypeInferenceAcceleratorResult', + 'GetInstanceTypeInstanceDiskResult', 'GetInstanceTypeOfferingFilterResult', 'GetInstanceTypeOfferingsFilterResult', 'GetInstancesFilterResult', @@ -5278,6 +5282,136 @@ def volume_type(self) -> str: return pulumi.get(self, "volume_type") +@pulumi.output_type +class GetInstanceTypeFpgaResult(dict): + def __init__(__self__, *, + count: int, + manufacturer: str, + memory_size: int, + name: str): + """ + :param int memory_size: Size of the instance memory, in MiB. + """ + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "manufacturer", manufacturer) + pulumi.set(__self__, "memory_size", memory_size) + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def count(self) -> int: + return pulumi.get(self, "count") + + @property + @pulumi.getter + def manufacturer(self) -> str: + return pulumi.get(self, "manufacturer") + + @property + @pulumi.getter(name="memorySize") + def memory_size(self) -> int: + """ + Size of the instance memory, in MiB. + """ + return pulumi.get(self, "memory_size") + + @property + @pulumi.getter + def name(self) -> str: + return pulumi.get(self, "name") + + +@pulumi.output_type +class GetInstanceTypeGpusResult(dict): + def __init__(__self__, *, + count: int, + manufacturer: str, + memory_size: int, + name: str): + """ + :param int memory_size: Size of the instance memory, in MiB. + """ + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "manufacturer", manufacturer) + pulumi.set(__self__, "memory_size", memory_size) + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def count(self) -> int: + return pulumi.get(self, "count") + + @property + @pulumi.getter + def manufacturer(self) -> str: + return pulumi.get(self, "manufacturer") + + @property + @pulumi.getter(name="memorySize") + def memory_size(self) -> int: + """ + Size of the instance memory, in MiB. + """ + return pulumi.get(self, "memory_size") + + @property + @pulumi.getter + def name(self) -> str: + return pulumi.get(self, "name") + + +@pulumi.output_type +class GetInstanceTypeInferenceAcceleratorResult(dict): + def __init__(__self__, *, + count: int, + manufacturer: str, + name: str): + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "manufacturer", manufacturer) + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def count(self) -> int: + return pulumi.get(self, "count") + + @property + @pulumi.getter + def manufacturer(self) -> str: + return pulumi.get(self, "manufacturer") + + @property + @pulumi.getter + def name(self) -> str: + return pulumi.get(self, "name") + + +@pulumi.output_type +class GetInstanceTypeInstanceDiskResult(dict): + def __init__(__self__, *, + count: int, + size: int, + type: str): + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "size", size) + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def count(self) -> int: + return pulumi.get(self, "count") + + @property + @pulumi.getter + def size(self) -> int: + return pulumi.get(self, "size") + + @property + @pulumi.getter + def type(self) -> str: + return pulumi.get(self, "type") + + @pulumi.output_type class GetInstanceTypeOfferingFilterResult(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/efs/file_system_policy.py b/sdk/python/pulumi_aws/efs/file_system_policy.py index 25e7fe6b8de..2ab4086a3a5 100644 --- a/sdk/python/pulumi_aws/efs/file_system_policy.py +++ b/sdk/python/pulumi_aws/efs/file_system_policy.py @@ -37,7 +37,7 @@ def __init__(__self__, "Id": "ExamplePolicy01", "Statement": [ {{ - "Sid": "ExampleSatement01", + "Sid": "ExampleStatement01", "Effect": "Allow", "Principal": {{ "AWS": "*" diff --git a/sdk/python/pulumi_aws/elasticloadbalancingv2/_inputs.py b/sdk/python/pulumi_aws/elasticloadbalancingv2/_inputs.py index 90b4a6cc8df..91ba44d6080 100644 --- a/sdk/python/pulumi_aws/elasticloadbalancingv2/_inputs.py +++ b/sdk/python/pulumi_aws/elasticloadbalancingv2/_inputs.py @@ -1992,8 +1992,8 @@ def __init__(__self__, *, cookie_duration: Optional[pulumi.Input[int]] = None, enabled: Optional[pulumi.Input[bool]] = None): """ - :param pulumi.Input[str] type: The type of sticky sessions. The only current possible value is `lb_cookie`. - :param pulumi.Input[int] cookie_duration: The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + :param pulumi.Input[str] type: The type of sticky sessions. The only current possible values are `lb_cookie` for ALBs and `source_ip` for NLBs. + :param pulumi.Input[int] cookie_duration: Only used when the type is `lb_cookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). :param pulumi.Input[bool] enabled: Indicates whether health checks are enabled. Defaults to true. """ pulumi.set(__self__, "type", type) @@ -2006,7 +2006,7 @@ def __init__(__self__, *, @pulumi.getter def type(self) -> pulumi.Input[str]: """ - The type of sticky sessions. The only current possible value is `lb_cookie`. + The type of sticky sessions. The only current possible values are `lb_cookie` for ALBs and `source_ip` for NLBs. """ return pulumi.get(self, "type") @@ -2018,7 +2018,7 @@ def type(self, value: pulumi.Input[str]): @pulumi.getter(name="cookieDuration") def cookie_duration(self) -> Optional[pulumi.Input[int]]: """ - The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + Only used when the type is `lb_cookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). """ return pulumi.get(self, "cookie_duration") diff --git a/sdk/python/pulumi_aws/elasticloadbalancingv2/load_balancer.py b/sdk/python/pulumi_aws/elasticloadbalancingv2/load_balancer.py index 4cc74a0ec36..bc31d425f32 100644 --- a/sdk/python/pulumi_aws/elasticloadbalancingv2/load_balancer.py +++ b/sdk/python/pulumi_aws/elasticloadbalancingv2/load_balancer.py @@ -56,7 +56,7 @@ def __init__(__self__, internal=False, load_balancer_type="application", security_groups=[aws_security_group["lb_sg"]["id"]], - subnets=[[__item["id"] for __item in aws_subnet["public"]]], + subnets=[__item["id"] for __item in aws_subnet["public"]], enable_deletion_protection=True, access_logs=aws.lb.LoadBalancerAccessLogsArgs( bucket=aws_s3_bucket["lb_logs"]["bucket"], @@ -76,7 +76,7 @@ def __init__(__self__, test = aws.lb.LoadBalancer("test", internal=False, load_balancer_type="network", - subnets=[[__item["id"] for __item in aws_subnet["public"]]], + subnets=[__item["id"] for __item in aws_subnet["public"]], enable_deletion_protection=True, tags={ "Environment": "production", diff --git a/sdk/python/pulumi_aws/elasticloadbalancingv2/outputs.py b/sdk/python/pulumi_aws/elasticloadbalancingv2/outputs.py index ecbefc0fdb5..2a2220a4147 100644 --- a/sdk/python/pulumi_aws/elasticloadbalancingv2/outputs.py +++ b/sdk/python/pulumi_aws/elasticloadbalancingv2/outputs.py @@ -1624,8 +1624,8 @@ def __init__(__self__, *, cookie_duration: Optional[int] = None, enabled: Optional[bool] = None): """ - :param str type: The type of sticky sessions. The only current possible value is `lb_cookie`. - :param int cookie_duration: The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + :param str type: The type of sticky sessions. The only current possible values are `lb_cookie` for ALBs and `source_ip` for NLBs. + :param int cookie_duration: Only used when the type is `lb_cookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). :param bool enabled: Indicates whether health checks are enabled. Defaults to true. """ pulumi.set(__self__, "type", type) @@ -1638,7 +1638,7 @@ def __init__(__self__, *, @pulumi.getter def type(self) -> str: """ - The type of sticky sessions. The only current possible value is `lb_cookie`. + The type of sticky sessions. The only current possible values are `lb_cookie` for ALBs and `source_ip` for NLBs. """ return pulumi.get(self, "type") @@ -1646,7 +1646,7 @@ def type(self) -> str: @pulumi.getter(name="cookieDuration") def cookie_duration(self) -> Optional[int]: """ - The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + Only used when the type is `lb_cookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). """ return pulumi.get(self, "cookie_duration") diff --git a/sdk/python/pulumi_aws/elasticloadbalancingv2/target_group.py b/sdk/python/pulumi_aws/elasticloadbalancingv2/target_group.py index 691aca7c548..5a671d7b538 100644 --- a/sdk/python/pulumi_aws/elasticloadbalancingv2/target_group.py +++ b/sdk/python/pulumi_aws/elasticloadbalancingv2/target_group.py @@ -90,7 +90,7 @@ def __init__(__self__, :param pulumi.Input[str] protocol: The protocol to use for routing traffic to the targets. Should be one of "TCP", "TLS", "UDP", "TCP_UDP", "HTTP" or "HTTPS". Required when `target_type` is `instance` or `ip`. Does not apply when `target_type` is `lambda`. :param pulumi.Input[bool] proxy_protocol_v2: Boolean to enable / disable support for proxy protocol v2 on Network Load Balancers. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#proxy-protocol) for more information. :param pulumi.Input[int] slow_start: The amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds. - :param pulumi.Input[pulumi.InputType['TargetGroupStickinessArgs']] stickiness: A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + :param pulumi.Input[pulumi.InputType['TargetGroupStickinessArgs']] stickiness: A Stickiness block. Stickiness blocks are documented below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. :param pulumi.Input[str] target_type: The type of target that you must specify when registering targets with this target group. The possible values are `instance` (targets are specified by instance ID) or `ip` (targets are specified by IP address) or `lambda` (targets are specified by lambda arn). @@ -179,7 +179,7 @@ def get(resource_name: str, :param pulumi.Input[str] protocol: The protocol to use for routing traffic to the targets. Should be one of "TCP", "TLS", "UDP", "TCP_UDP", "HTTP" or "HTTPS". Required when `target_type` is `instance` or `ip`. Does not apply when `target_type` is `lambda`. :param pulumi.Input[bool] proxy_protocol_v2: Boolean to enable / disable support for proxy protocol v2 on Network Load Balancers. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#proxy-protocol) for more information. :param pulumi.Input[int] slow_start: The amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds. - :param pulumi.Input[pulumi.InputType['TargetGroupStickinessArgs']] stickiness: A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + :param pulumi.Input[pulumi.InputType['TargetGroupStickinessArgs']] stickiness: A Stickiness block. Stickiness blocks are documented below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. :param pulumi.Input[str] target_type: The type of target that you must specify when registering targets with this target group. The possible values are `instance` (targets are specified by instance ID) or `ip` (targets are specified by IP address) or `lambda` (targets are specified by lambda arn). @@ -311,7 +311,7 @@ def slow_start(self) -> pulumi.Output[Optional[int]]: @pulumi.getter def stickiness(self) -> pulumi.Output['outputs.TargetGroupStickiness']: """ - A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + A Stickiness block. Stickiness blocks are documented below. """ return pulumi.get(self, "stickiness") diff --git a/sdk/python/pulumi_aws/get_ip_ranges.py b/sdk/python/pulumi_aws/get_ip_ranges.py index 75c38f745e5..74e0abaa92d 100644 --- a/sdk/python/pulumi_aws/get_ip_ranges.py +++ b/sdk/python/pulumi_aws/get_ip_ranges.py @@ -123,7 +123,7 @@ def get_ip_ranges(regions: Optional[Sequence[str]] = None, url: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetIpRangesResult: """ - Use this data source to get the IP ranges of various AWS products and services. For more information about the contents of this data source and required JSON syntax if referencing a custom URL, see the [AWS IP Address Ranges documention](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html). + Use this data source to get the IP ranges of various AWS products and services. For more information about the contents of this data source and required JSON syntax if referencing a custom URL, see the [AWS IP Address Ranges documentation](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html). ## Example Usage @@ -159,7 +159,7 @@ def get_ip_ranges(regions: Optional[Sequence[str]] = None, `codebuild`, `dynamodb`, `ec2`, `ec2_instance_connect`, `globalaccelerator`, `route53`, `route53_healthchecks`, `s3` and `workspaces_gateways`. See the [`service` attribute][2] documentation for other possible values. - :param str url: Custom URL for source JSON file. Syntax must match [AWS IP Address Ranges documention](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html). Defaults to `https://ip-ranges.amazonaws.com/ip-ranges.json`. + :param str url: Custom URL for source JSON file. Syntax must match [AWS IP Address Ranges documentation](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html). Defaults to `https://ip-ranges.amazonaws.com/ip-ranges.json`. """ __args__ = dict() __args__['regions'] = regions diff --git a/sdk/python/pulumi_aws/get_partition.py b/sdk/python/pulumi_aws/get_partition.py index 42e7cb3f39a..f1f62badf39 100644 --- a/sdk/python/pulumi_aws/get_partition.py +++ b/sdk/python/pulumi_aws/get_partition.py @@ -33,6 +33,9 @@ def __init__(__self__, dns_suffix=None, id=None, partition=None): @property @pulumi.getter(name="dnsSuffix") def dns_suffix(self) -> str: + """ + Base DNS domain name for the current partition (e.g. `amazonaws.com` in AWS Commercial, `amazonaws.com.cn` in AWS China). + """ return pulumi.get(self, "dns_suffix") @property @@ -46,6 +49,9 @@ def id(self) -> str: @property @pulumi.getter def partition(self) -> str: + """ + Identifier of the current partition (e.g. `aws` in AWS Commercial, `aws-cn` in AWS China). + """ return pulumi.get(self, "partition") diff --git a/sdk/python/pulumi_aws/lb/_inputs.py b/sdk/python/pulumi_aws/lb/_inputs.py index 90b4a6cc8df..91ba44d6080 100644 --- a/sdk/python/pulumi_aws/lb/_inputs.py +++ b/sdk/python/pulumi_aws/lb/_inputs.py @@ -1992,8 +1992,8 @@ def __init__(__self__, *, cookie_duration: Optional[pulumi.Input[int]] = None, enabled: Optional[pulumi.Input[bool]] = None): """ - :param pulumi.Input[str] type: The type of sticky sessions. The only current possible value is `lb_cookie`. - :param pulumi.Input[int] cookie_duration: The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + :param pulumi.Input[str] type: The type of sticky sessions. The only current possible values are `lb_cookie` for ALBs and `source_ip` for NLBs. + :param pulumi.Input[int] cookie_duration: Only used when the type is `lb_cookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). :param pulumi.Input[bool] enabled: Indicates whether health checks are enabled. Defaults to true. """ pulumi.set(__self__, "type", type) @@ -2006,7 +2006,7 @@ def __init__(__self__, *, @pulumi.getter def type(self) -> pulumi.Input[str]: """ - The type of sticky sessions. The only current possible value is `lb_cookie`. + The type of sticky sessions. The only current possible values are `lb_cookie` for ALBs and `source_ip` for NLBs. """ return pulumi.get(self, "type") @@ -2018,7 +2018,7 @@ def type(self, value: pulumi.Input[str]): @pulumi.getter(name="cookieDuration") def cookie_duration(self) -> Optional[pulumi.Input[int]]: """ - The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + Only used when the type is `lb_cookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). """ return pulumi.get(self, "cookie_duration") diff --git a/sdk/python/pulumi_aws/lb/load_balancer.py b/sdk/python/pulumi_aws/lb/load_balancer.py index a8b581619d0..181650dac36 100644 --- a/sdk/python/pulumi_aws/lb/load_balancer.py +++ b/sdk/python/pulumi_aws/lb/load_balancer.py @@ -52,7 +52,7 @@ def __init__(__self__, internal=False, load_balancer_type="application", security_groups=[aws_security_group["lb_sg"]["id"]], - subnets=[[__item["id"] for __item in aws_subnet["public"]]], + subnets=[__item["id"] for __item in aws_subnet["public"]], enable_deletion_protection=True, access_logs=aws.lb.LoadBalancerAccessLogsArgs( bucket=aws_s3_bucket["lb_logs"]["bucket"], @@ -72,7 +72,7 @@ def __init__(__self__, test = aws.lb.LoadBalancer("test", internal=False, load_balancer_type="network", - subnets=[[__item["id"] for __item in aws_subnet["public"]]], + subnets=[__item["id"] for __item in aws_subnet["public"]], enable_deletion_protection=True, tags={ "Environment": "production", diff --git a/sdk/python/pulumi_aws/lb/outputs.py b/sdk/python/pulumi_aws/lb/outputs.py index ecbefc0fdb5..2a2220a4147 100644 --- a/sdk/python/pulumi_aws/lb/outputs.py +++ b/sdk/python/pulumi_aws/lb/outputs.py @@ -1624,8 +1624,8 @@ def __init__(__self__, *, cookie_duration: Optional[int] = None, enabled: Optional[bool] = None): """ - :param str type: The type of sticky sessions. The only current possible value is `lb_cookie`. - :param int cookie_duration: The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + :param str type: The type of sticky sessions. The only current possible values are `lb_cookie` for ALBs and `source_ip` for NLBs. + :param int cookie_duration: Only used when the type is `lb_cookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). :param bool enabled: Indicates whether health checks are enabled. Defaults to true. """ pulumi.set(__self__, "type", type) @@ -1638,7 +1638,7 @@ def __init__(__self__, *, @pulumi.getter def type(self) -> str: """ - The type of sticky sessions. The only current possible value is `lb_cookie`. + The type of sticky sessions. The only current possible values are `lb_cookie` for ALBs and `source_ip` for NLBs. """ return pulumi.get(self, "type") @@ -1646,7 +1646,7 @@ def type(self) -> str: @pulumi.getter(name="cookieDuration") def cookie_duration(self) -> Optional[int]: """ - The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). + Only used when the type is `lb_cookie`. The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). """ return pulumi.get(self, "cookie_duration") diff --git a/sdk/python/pulumi_aws/lb/target_group.py b/sdk/python/pulumi_aws/lb/target_group.py index 9143c9fe933..a91e75e9f36 100644 --- a/sdk/python/pulumi_aws/lb/target_group.py +++ b/sdk/python/pulumi_aws/lb/target_group.py @@ -86,7 +86,7 @@ def __init__(__self__, :param pulumi.Input[str] protocol: The protocol to use for routing traffic to the targets. Should be one of "TCP", "TLS", "UDP", "TCP_UDP", "HTTP" or "HTTPS". Required when `target_type` is `instance` or `ip`. Does not apply when `target_type` is `lambda`. :param pulumi.Input[bool] proxy_protocol_v2: Boolean to enable / disable support for proxy protocol v2 on Network Load Balancers. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#proxy-protocol) for more information. :param pulumi.Input[int] slow_start: The amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds. - :param pulumi.Input[pulumi.InputType['TargetGroupStickinessArgs']] stickiness: A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + :param pulumi.Input[pulumi.InputType['TargetGroupStickinessArgs']] stickiness: A Stickiness block. Stickiness blocks are documented below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. :param pulumi.Input[str] target_type: The type of target that you must specify when registering targets with this target group. The possible values are `instance` (targets are specified by instance ID) or `ip` (targets are specified by IP address) or `lambda` (targets are specified by lambda arn). @@ -176,7 +176,7 @@ def get(resource_name: str, :param pulumi.Input[str] protocol: The protocol to use for routing traffic to the targets. Should be one of "TCP", "TLS", "UDP", "TCP_UDP", "HTTP" or "HTTPS". Required when `target_type` is `instance` or `ip`. Does not apply when `target_type` is `lambda`. :param pulumi.Input[bool] proxy_protocol_v2: Boolean to enable / disable support for proxy protocol v2 on Network Load Balancers. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#proxy-protocol) for more information. :param pulumi.Input[int] slow_start: The amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds. - :param pulumi.Input[pulumi.InputType['TargetGroupStickinessArgs']] stickiness: A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + :param pulumi.Input[pulumi.InputType['TargetGroupStickinessArgs']] stickiness: A Stickiness block. Stickiness blocks are documented below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. :param pulumi.Input[str] target_type: The type of target that you must specify when registering targets with this target group. The possible values are `instance` (targets are specified by instance ID) or `ip` (targets are specified by IP address) or `lambda` (targets are specified by lambda arn). @@ -308,7 +308,7 @@ def slow_start(self) -> pulumi.Output[Optional[int]]: @pulumi.getter def stickiness(self) -> pulumi.Output['outputs.TargetGroupStickiness']: """ - A Stickiness block. Stickiness blocks are documented below. `stickiness` is only valid if used with Load Balancers of type `Application` + A Stickiness block. Stickiness blocks are documented below. """ return pulumi.get(self, "stickiness") diff --git a/sdk/python/pulumi_aws/lex/__init__.py b/sdk/python/pulumi_aws/lex/__init__.py index bad12b508eb..fcf3738218f 100644 --- a/sdk/python/pulumi_aws/lex/__init__.py +++ b/sdk/python/pulumi_aws/lex/__init__.py @@ -4,7 +4,9 @@ # Export this package's modules as members: from .bot import * +from .bot_alias import * from .get_bot import * +from .get_bot_alias import * from .get_intent import * from .get_slot_type import * from .intent import * diff --git a/sdk/python/pulumi_aws/lex/_inputs.py b/sdk/python/pulumi_aws/lex/_inputs.py index ba7a6f102f3..3d810237b55 100644 --- a/sdk/python/pulumi_aws/lex/_inputs.py +++ b/sdk/python/pulumi_aws/lex/_inputs.py @@ -11,6 +11,8 @@ __all__ = [ 'BotAbortStatementArgs', 'BotAbortStatementMessageArgs', + 'BotAliasConversationLogsArgs', + 'BotAliasConversationLogsLogSettingArgs', 'BotClarificationPromptArgs', 'BotClarificationPromptMessageArgs', 'BotIntentArgs', @@ -135,6 +137,128 @@ def group_number(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "group_number", value) +@pulumi.input_type +class BotAliasConversationLogsArgs: + def __init__(__self__, *, + iam_role_arn: pulumi.Input[str], + log_settings: Optional[pulumi.Input[Sequence[pulumi.Input['BotAliasConversationLogsLogSettingArgs']]]] = None): + """ + :param pulumi.Input[str] iam_role_arn: The Amazon Resource Name (ARN) of the IAM role used to write your logs to CloudWatch Logs or an S3 bucket. + :param pulumi.Input[Sequence[pulumi.Input['BotAliasConversationLogsLogSettingArgs']]] log_settings: The settings for your conversation logs. You can log text, audio, or both. Attributes are documented under log_settings. + """ + pulumi.set(__self__, "iam_role_arn", iam_role_arn) + if log_settings is not None: + pulumi.set(__self__, "log_settings", log_settings) + + @property + @pulumi.getter(name="iamRoleArn") + def iam_role_arn(self) -> pulumi.Input[str]: + """ + The Amazon Resource Name (ARN) of the IAM role used to write your logs to CloudWatch Logs or an S3 bucket. + """ + return pulumi.get(self, "iam_role_arn") + + @iam_role_arn.setter + def iam_role_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "iam_role_arn", value) + + @property + @pulumi.getter(name="logSettings") + def log_settings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BotAliasConversationLogsLogSettingArgs']]]]: + """ + The settings for your conversation logs. You can log text, audio, or both. Attributes are documented under log_settings. + """ + return pulumi.get(self, "log_settings") + + @log_settings.setter + def log_settings(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['BotAliasConversationLogsLogSettingArgs']]]]): + pulumi.set(self, "log_settings", value) + + +@pulumi.input_type +class BotAliasConversationLogsLogSettingArgs: + def __init__(__self__, *, + destination: pulumi.Input[str], + log_type: pulumi.Input[str], + resource_arn: pulumi.Input[str], + kms_key_arn: Optional[pulumi.Input[str]] = None, + resource_prefix: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] destination: The destination where logs are delivered. Options are `CLOUDWATCH_LOGS` or `S3`. + :param pulumi.Input[str] log_type: The type of logging that is enabled. Options are `AUDIO` or `TEXT`. + :param pulumi.Input[str] resource_arn: The Amazon Resource Name (ARN) of the CloudWatch Logs log group or S3 bucket where the logs are delivered. + :param pulumi.Input[str] kms_key_arn: The Amazon Resource Name (ARN) of the key used to encrypt audio logs in an S3 bucket. This can only be specified when `destination` is set to `S3`. + :param pulumi.Input[str] resource_prefix: The prefix of the S3 object key for `AUDIO` logs or the log stream name for `TEXT` logs. + """ + pulumi.set(__self__, "destination", destination) + pulumi.set(__self__, "log_type", log_type) + pulumi.set(__self__, "resource_arn", resource_arn) + if kms_key_arn is not None: + pulumi.set(__self__, "kms_key_arn", kms_key_arn) + if resource_prefix is not None: + pulumi.set(__self__, "resource_prefix", resource_prefix) + + @property + @pulumi.getter + def destination(self) -> pulumi.Input[str]: + """ + The destination where logs are delivered. Options are `CLOUDWATCH_LOGS` or `S3`. + """ + return pulumi.get(self, "destination") + + @destination.setter + def destination(self, value: pulumi.Input[str]): + pulumi.set(self, "destination", value) + + @property + @pulumi.getter(name="logType") + def log_type(self) -> pulumi.Input[str]: + """ + The type of logging that is enabled. Options are `AUDIO` or `TEXT`. + """ + return pulumi.get(self, "log_type") + + @log_type.setter + def log_type(self, value: pulumi.Input[str]): + pulumi.set(self, "log_type", value) + + @property + @pulumi.getter(name="resourceArn") + def resource_arn(self) -> pulumi.Input[str]: + """ + The Amazon Resource Name (ARN) of the CloudWatch Logs log group or S3 bucket where the logs are delivered. + """ + return pulumi.get(self, "resource_arn") + + @resource_arn.setter + def resource_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_arn", value) + + @property + @pulumi.getter(name="kmsKeyArn") + def kms_key_arn(self) -> Optional[pulumi.Input[str]]: + """ + The Amazon Resource Name (ARN) of the key used to encrypt audio logs in an S3 bucket. This can only be specified when `destination` is set to `S3`. + """ + 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(name="resourcePrefix") + def resource_prefix(self) -> Optional[pulumi.Input[str]]: + """ + The prefix of the S3 object key for `AUDIO` logs or the log stream name for `TEXT` logs. + """ + return pulumi.get(self, "resource_prefix") + + @resource_prefix.setter + def resource_prefix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "resource_prefix", value) + + @pulumi.input_type class BotClarificationPromptArgs: def __init__(__self__, *, @@ -553,9 +677,9 @@ def __init__(__self__, *, rejection_statement: pulumi.Input['IntentFollowUpPromptRejectionStatementArgs']): """ :param pulumi.Input['IntentFollowUpPromptPromptArgs'] prompt: Prompts for information from the user. Attributes are documented under prompt. - :param pulumi.Input['IntentFollowUpPromptRejectionStatementArgs'] rejection_statement: When the user answers "no" to the question defined in - `confirmation_prompt`, Amazon Lex responds with this statement to acknowledge that the intent was - canceled. + :param pulumi.Input['IntentFollowUpPromptRejectionStatementArgs'] rejection_statement: If the user answers "no" to the question defined in the prompt field, + Amazon Lex responds with this statement to acknowledge that the intent was canceled. Attributes are + documented below under statement. """ pulumi.set(__self__, "prompt", prompt) pulumi.set(__self__, "rejection_statement", rejection_statement) @@ -576,9 +700,9 @@ def prompt(self, value: pulumi.Input['IntentFollowUpPromptPromptArgs']): @pulumi.getter(name="rejectionStatement") def rejection_statement(self) -> pulumi.Input['IntentFollowUpPromptRejectionStatementArgs']: """ - When the user answers "no" to the question defined in - `confirmation_prompt`, Amazon Lex responds with this statement to acknowledge that the intent was - canceled. + If the user answers "no" to the question defined in the prompt field, + Amazon Lex responds with this statement to acknowledge that the intent was canceled. Attributes are + documented below under statement. """ return pulumi.get(self, "rejection_statement") @@ -1008,7 +1132,8 @@ def __init__(__self__, *, :param pulumi.Input[str] description: A description of the bot. :param pulumi.Input[int] priority: Directs Lex the order in which to elicit this slot value from the user. For example, if the intent has two slots with priorities 1 and 2, AWS Lex first elicits a value for - the slot with priority 1. + the slot with priority 1. If multiple slots share the same priority, the order in which Lex elicits + values is arbitrary. :param pulumi.Input[str] response_card: The response card. Amazon Lex will substitute session attributes and slot values into the response card. For more information, see [Example: Using a Response Card](https://docs.aws.amazon.com/lex/latest/dg/ex-resp-card.html). @@ -1090,7 +1215,8 @@ def priority(self) -> Optional[pulumi.Input[int]]: """ Directs Lex the order in which to elicit this slot value from the user. For example, if the intent has two slots with priorities 1 and 2, AWS Lex first elicits a value for - the slot with priority 1. + the slot with priority 1. If multiple slots share the same priority, the order in which Lex elicits + values is arbitrary. """ return pulumi.get(self, "priority") diff --git a/sdk/python/pulumi_aws/lex/bot_alias.py b/sdk/python/pulumi_aws/lex/bot_alias.py new file mode 100644 index 00000000000..ff16622ff2c --- /dev/null +++ b/sdk/python/pulumi_aws/lex/bot_alias.py @@ -0,0 +1,210 @@ +# 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 warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union +from .. import _utilities, _tables +from . import outputs +from ._inputs import * + +__all__ = ['BotAlias'] + + +class BotAlias(pulumi.CustomResource): + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + bot_name: Optional[pulumi.Input[str]] = None, + bot_version: Optional[pulumi.Input[str]] = None, + conversation_logs: Optional[pulumi.Input[pulumi.InputType['BotAliasConversationLogsArgs']]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + __props__=None, + __name__=None, + __opts__=None): + """ + Provides an Amazon Lex Bot Alias resource. For more information see + [Amazon Lex: How It Works](https://docs.aws.amazon.com/lex/latest/dg/how-it-works.html) + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + order_flowers_prod = aws.lex.BotAlias("orderFlowersProd", + bot_name="OrderFlowers", + bot_version="1", + description="Production Version of the OrderFlowers Bot.") + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] bot_name: The name of the bot. + :param pulumi.Input[str] bot_version: The name of the bot. + :param pulumi.Input[pulumi.InputType['BotAliasConversationLogsArgs']] conversation_logs: The settings that determine how Amazon Lex uses conversation logs for the alias. Attributes are documented under conversation_logs. + :param pulumi.Input[str] description: A description of the alias. + :param pulumi.Input[str] name: The name of the alias. The name is not case sensitive. + """ + if __name__ is not None: + warnings.warn("explicit use of __name__ is deprecated", DeprecationWarning) + resource_name = __name__ + if __opts__ is not None: + warnings.warn("explicit use of __opts__ is deprecated, use 'opts' instead", DeprecationWarning) + opts = __opts__ + if opts is None: + opts = pulumi.ResourceOptions() + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.version is None: + opts.version = _utilities.get_version() + 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__ = dict() + + if bot_name is None: + raise TypeError("Missing required property 'bot_name'") + __props__['bot_name'] = bot_name + if bot_version is None: + raise TypeError("Missing required property 'bot_version'") + __props__['bot_version'] = bot_version + __props__['conversation_logs'] = conversation_logs + __props__['description'] = description + __props__['name'] = name + __props__['arn'] = None + __props__['checksum'] = None + __props__['created_date'] = None + __props__['last_updated_date'] = None + super(BotAlias, __self__).__init__( + 'aws:lex/botAlias:BotAlias', + 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, + bot_name: Optional[pulumi.Input[str]] = None, + bot_version: Optional[pulumi.Input[str]] = None, + checksum: Optional[pulumi.Input[str]] = None, + conversation_logs: Optional[pulumi.Input[pulumi.InputType['BotAliasConversationLogsArgs']]] = None, + created_date: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + last_updated_date: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None) -> 'BotAlias': + """ + Get an existing BotAlias 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 bot alias. + :param pulumi.Input[str] bot_name: The name of the bot. + :param pulumi.Input[str] bot_version: The name of the bot. + :param pulumi.Input[str] checksum: Checksum of the bot alias. + :param pulumi.Input[pulumi.InputType['BotAliasConversationLogsArgs']] conversation_logs: The settings that determine how Amazon Lex uses conversation logs for the alias. Attributes are documented under conversation_logs. + :param pulumi.Input[str] created_date: The date that the bot alias was created. + :param pulumi.Input[str] description: A description of the alias. + :param pulumi.Input[str] last_updated_date: The date that the bot alias was updated. When you create a resource, the creation date and the last updated date are the same. + :param pulumi.Input[str] name: The name of the alias. The name is not case sensitive. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = dict() + + __props__["arn"] = arn + __props__["bot_name"] = bot_name + __props__["bot_version"] = bot_version + __props__["checksum"] = checksum + __props__["conversation_logs"] = conversation_logs + __props__["created_date"] = created_date + __props__["description"] = description + __props__["last_updated_date"] = last_updated_date + __props__["name"] = name + return BotAlias(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + The ARN of the bot alias. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="botName") + def bot_name(self) -> pulumi.Output[str]: + """ + The name of the bot. + """ + return pulumi.get(self, "bot_name") + + @property + @pulumi.getter(name="botVersion") + def bot_version(self) -> pulumi.Output[str]: + """ + The name of the bot. + """ + return pulumi.get(self, "bot_version") + + @property + @pulumi.getter + def checksum(self) -> pulumi.Output[str]: + """ + Checksum of the bot alias. + """ + return pulumi.get(self, "checksum") + + @property + @pulumi.getter(name="conversationLogs") + def conversation_logs(self) -> pulumi.Output[Optional['outputs.BotAliasConversationLogs']]: + """ + The settings that determine how Amazon Lex uses conversation logs for the alias. Attributes are documented under conversation_logs. + """ + return pulumi.get(self, "conversation_logs") + + @property + @pulumi.getter(name="createdDate") + def created_date(self) -> pulumi.Output[str]: + """ + The date that the bot alias was created. + """ + return pulumi.get(self, "created_date") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + A description of the alias. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="lastUpdatedDate") + def last_updated_date(self) -> pulumi.Output[str]: + """ + The date that the bot alias was updated. When you create a resource, the creation date and the last updated date are the same. + """ + return pulumi.get(self, "last_updated_date") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the alias. The name is not case sensitive. + """ + return pulumi.get(self, "name") + + def translate_output_property(self, prop): + return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + def translate_input_property(self, prop): + return _tables.SNAKE_TO_CAMEL_CASE_TABLE.get(prop) or prop + diff --git a/sdk/python/pulumi_aws/lex/get_bot_alias.py b/sdk/python/pulumi_aws/lex/get_bot_alias.py new file mode 100644 index 00000000000..cd4df695e60 --- /dev/null +++ b/sdk/python/pulumi_aws/lex/get_bot_alias.py @@ -0,0 +1,179 @@ +# 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 warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union +from .. import _utilities, _tables + +__all__ = [ + 'GetBotAliasResult', + 'AwaitableGetBotAliasResult', + 'get_bot_alias', +] + +@pulumi.output_type +class GetBotAliasResult: + """ + A collection of values returned by getBotAlias. + """ + def __init__(__self__, arn=None, bot_name=None, bot_version=None, checksum=None, created_date=None, description=None, id=None, last_updated_date=None, name=None): + if arn and not isinstance(arn, str): + raise TypeError("Expected argument 'arn' to be a str") + pulumi.set(__self__, "arn", arn) + if bot_name and not isinstance(bot_name, str): + raise TypeError("Expected argument 'bot_name' to be a str") + pulumi.set(__self__, "bot_name", bot_name) + if bot_version and not isinstance(bot_version, str): + raise TypeError("Expected argument 'bot_version' to be a str") + pulumi.set(__self__, "bot_version", bot_version) + if checksum and not isinstance(checksum, str): + raise TypeError("Expected argument 'checksum' to be a str") + pulumi.set(__self__, "checksum", checksum) + 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 description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + 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 name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def arn(self) -> str: + """ + The ARN of the bot alias. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="botName") + def bot_name(self) -> str: + """ + The name of the bot. + """ + return pulumi.get(self, "bot_name") + + @property + @pulumi.getter(name="botVersion") + def bot_version(self) -> str: + """ + The version of the bot that the alias points to. + """ + return pulumi.get(self, "bot_version") + + @property + @pulumi.getter + def checksum(self) -> str: + """ + Checksum of the bot alias. + """ + return pulumi.get(self, "checksum") + + @property + @pulumi.getter(name="createdDate") + def created_date(self) -> str: + """ + The date that the bot alias was created. + """ + return pulumi.get(self, "created_date") + + @property + @pulumi.getter + def description(self) -> str: + """ + A description of the alias. + """ + return pulumi.get(self, "description") + + @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: + """ + The date that the bot alias was updated. When you create a resource, the creation date and the last updated date are the same. + """ + return pulumi.get(self, "last_updated_date") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the alias. The name is not case sensitive. + """ + return pulumi.get(self, "name") + + +class AwaitableGetBotAliasResult(GetBotAliasResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetBotAliasResult( + arn=self.arn, + bot_name=self.bot_name, + bot_version=self.bot_version, + checksum=self.checksum, + created_date=self.created_date, + description=self.description, + id=self.id, + last_updated_date=self.last_updated_date, + name=self.name) + + +def get_bot_alias(bot_name: Optional[str] = None, + name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetBotAliasResult: + """ + Provides details about a specific Amazon Lex Bot Alias. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + order_flowers_prod = aws.lex.get_bot_alias(bot_name="OrderFlowers", + name="OrderFlowersProd") + ``` + + + :param str bot_name: The name of the bot. + :param str name: The name of the bot alias. The name is case sensitive. + """ + __args__ = dict() + __args__['botName'] = bot_name + __args__['name'] = name + if opts is None: + opts = pulumi.InvokeOptions() + if opts.version is None: + opts.version = _utilities.get_version() + __ret__ = pulumi.runtime.invoke('aws:lex/getBotAlias:getBotAlias', __args__, opts=opts, typ=GetBotAliasResult).value + + return AwaitableGetBotAliasResult( + arn=__ret__.arn, + bot_name=__ret__.bot_name, + bot_version=__ret__.bot_version, + checksum=__ret__.checksum, + created_date=__ret__.created_date, + description=__ret__.description, + id=__ret__.id, + last_updated_date=__ret__.last_updated_date, + name=__ret__.name) diff --git a/sdk/python/pulumi_aws/lex/intent.py b/sdk/python/pulumi_aws/lex/intent.py index 49e95545192..80acf2506b0 100644 --- a/sdk/python/pulumi_aws/lex/intent.py +++ b/sdk/python/pulumi_aws/lex/intent.py @@ -120,29 +120,33 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[pulumi.InputType['IntentConclusionStatementArgs']] conclusion_statement: The statement that you want Amazon Lex to convey to the user - after the intent is successfully fulfilled by the Lambda function. + after the intent is successfully fulfilled by the Lambda function. This element is relevant only if + you provide a Lambda function in the `fulfillment_activity`. If you return the intent to the client + application, you can't specify this element. The `follow_up_prompt` and `conclusion_statement` are + mutually exclusive. You can specify only one. Attributes are documented under statement. :param pulumi.Input[pulumi.InputType['IntentConfirmationPromptArgs']] confirmation_prompt: Prompts the user to confirm the intent. This question should have a yes or no answer. You you must provide both the `rejection_statement` and `confirmation_prompt`, or neither. Attributes are documented under prompt. :param pulumi.Input[bool] create_version: Determines if a new slot type version is created when the initial - resource is created and on each update. Defaults to true. + resource is created and on each update. Defaults to `false`. :param pulumi.Input[str] description: A description of the bot. :param pulumi.Input[pulumi.InputType['IntentDialogCodeHookArgs']] dialog_code_hook: Specifies a Lambda function to invoke for each user input. You can invoke this Lambda function to personalize user interaction. Attributes are documented under code_hook. :param pulumi.Input[pulumi.InputType['IntentFollowUpPromptArgs']] follow_up_prompt: Amazon Lex uses this prompt to solicit additional activity after fulfilling an intent. For example, after the OrderPizza intent is fulfilled, you might prompt the - user to order a drink. + user to order a drink. The `follow_up_prompt` field and the `conclusion_statement` field are mutually + exclusive. You can specify only one. Attributes are documented under follow_up_prompt. :param pulumi.Input[pulumi.InputType['IntentFulfillmentActivityArgs']] fulfillment_activity: Describes how the intent is fulfilled. For example, after a user provides all of the information for a pizza order, `fulfillment_activity` defines how the bot - places an order with a local pizza store. + places an order with a local pizza store. Attributes are documented under fulfillment_activity. :param pulumi.Input[str] name: The name of the intent slot that you want to create. The name is case sensitive. :param pulumi.Input[str] parent_intent_signature: A unique identifier for the built-in intent to base this intent on. To find the signature for an intent, see [Standard Built-in Intents](https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/built-in-intent-ref/standard-intents) in the Alexa Skills Kit. - :param pulumi.Input[pulumi.InputType['IntentRejectionStatementArgs']] rejection_statement: When the user answers "no" to the question defined in - `confirmation_prompt`, Amazon Lex responds with this statement to acknowledge that the intent was - canceled. + :param pulumi.Input[pulumi.InputType['IntentRejectionStatementArgs']] rejection_statement: If the user answers "no" to the question defined in the prompt field, + Amazon Lex responds with this statement to acknowledge that the intent was canceled. Attributes are + documented below under statement. :param pulumi.Input[Sequence[pulumi.Input[str]]] sample_utterances: If you know a specific pattern with which users might respond to an Amazon Lex request for a slot value, you can provide those utterances to improve accuracy. This is optional. In most cases, Amazon Lex is capable of understanding user utterances. @@ -223,31 +227,35 @@ def get(resource_name: str, :param pulumi.Input[str] checksum: Checksum identifying the version of the intent that was created. The checksum is not included as an argument because the resource will add it automatically when updating the intent. :param pulumi.Input[pulumi.InputType['IntentConclusionStatementArgs']] conclusion_statement: The statement that you want Amazon Lex to convey to the user - after the intent is successfully fulfilled by the Lambda function. + after the intent is successfully fulfilled by the Lambda function. This element is relevant only if + you provide a Lambda function in the `fulfillment_activity`. If you return the intent to the client + application, you can't specify this element. The `follow_up_prompt` and `conclusion_statement` are + mutually exclusive. You can specify only one. Attributes are documented under statement. :param pulumi.Input[pulumi.InputType['IntentConfirmationPromptArgs']] confirmation_prompt: Prompts the user to confirm the intent. This question should have a yes or no answer. You you must provide both the `rejection_statement` and `confirmation_prompt`, or neither. Attributes are documented under prompt. :param pulumi.Input[bool] create_version: Determines if a new slot type version is created when the initial - resource is created and on each update. Defaults to true. + resource is created and on each update. Defaults to `false`. :param pulumi.Input[str] created_date: The date when the intent version was created. :param pulumi.Input[str] description: A description of the bot. :param pulumi.Input[pulumi.InputType['IntentDialogCodeHookArgs']] dialog_code_hook: Specifies a Lambda function to invoke for each user input. You can invoke this Lambda function to personalize user interaction. Attributes are documented under code_hook. :param pulumi.Input[pulumi.InputType['IntentFollowUpPromptArgs']] follow_up_prompt: Amazon Lex uses this prompt to solicit additional activity after fulfilling an intent. For example, after the OrderPizza intent is fulfilled, you might prompt the - user to order a drink. + user to order a drink. The `follow_up_prompt` field and the `conclusion_statement` field are mutually + exclusive. You can specify only one. Attributes are documented under follow_up_prompt. :param pulumi.Input[pulumi.InputType['IntentFulfillmentActivityArgs']] fulfillment_activity: Describes how the intent is fulfilled. For example, after a user provides all of the information for a pizza order, `fulfillment_activity` defines how the bot - places an order with a local pizza store. + places an order with a local pizza store. Attributes are documented under fulfillment_activity. :param pulumi.Input[str] last_updated_date: The date when the $LATEST version of this intent was updated. :param pulumi.Input[str] name: The name of the intent slot that you want to create. The name is case sensitive. :param pulumi.Input[str] parent_intent_signature: A unique identifier for the built-in intent to base this intent on. To find the signature for an intent, see [Standard Built-in Intents](https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/built-in-intent-ref/standard-intents) in the Alexa Skills Kit. - :param pulumi.Input[pulumi.InputType['IntentRejectionStatementArgs']] rejection_statement: When the user answers "no" to the question defined in - `confirmation_prompt`, Amazon Lex responds with this statement to acknowledge that the intent was - canceled. + :param pulumi.Input[pulumi.InputType['IntentRejectionStatementArgs']] rejection_statement: If the user answers "no" to the question defined in the prompt field, + Amazon Lex responds with this statement to acknowledge that the intent was canceled. Attributes are + documented below under statement. :param pulumi.Input[Sequence[pulumi.Input[str]]] sample_utterances: If you know a specific pattern with which users might respond to an Amazon Lex request for a slot value, you can provide those utterances to improve accuracy. This is optional. In most cases, Amazon Lex is capable of understanding user utterances. @@ -300,7 +308,10 @@ def checksum(self) -> pulumi.Output[str]: def conclusion_statement(self) -> pulumi.Output[Optional['outputs.IntentConclusionStatement']]: """ The statement that you want Amazon Lex to convey to the user - after the intent is successfully fulfilled by the Lambda function. + after the intent is successfully fulfilled by the Lambda function. This element is relevant only if + you provide a Lambda function in the `fulfillment_activity`. If you return the intent to the client + application, you can't specify this element. The `follow_up_prompt` and `conclusion_statement` are + mutually exclusive. You can specify only one. Attributes are documented under statement. """ return pulumi.get(self, "conclusion_statement") @@ -319,7 +330,7 @@ def confirmation_prompt(self) -> pulumi.Output[Optional['outputs.IntentConfirmat def create_version(self) -> pulumi.Output[Optional[bool]]: """ Determines if a new slot type version is created when the initial - resource is created and on each update. Defaults to true. + resource is created and on each update. Defaults to `false`. """ return pulumi.get(self, "create_version") @@ -354,7 +365,8 @@ def follow_up_prompt(self) -> pulumi.Output[Optional['outputs.IntentFollowUpProm """ Amazon Lex uses this prompt to solicit additional activity after fulfilling an intent. For example, after the OrderPizza intent is fulfilled, you might prompt the - user to order a drink. + user to order a drink. The `follow_up_prompt` field and the `conclusion_statement` field are mutually + exclusive. You can specify only one. Attributes are documented under follow_up_prompt. """ return pulumi.get(self, "follow_up_prompt") @@ -364,7 +376,7 @@ def fulfillment_activity(self) -> pulumi.Output['outputs.IntentFulfillmentActivi """ Describes how the intent is fulfilled. For example, after a user provides all of the information for a pizza order, `fulfillment_activity` defines how the bot - places an order with a local pizza store. + places an order with a local pizza store. Attributes are documented under fulfillment_activity. """ return pulumi.get(self, "fulfillment_activity") @@ -399,9 +411,9 @@ def parent_intent_signature(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="rejectionStatement") def rejection_statement(self) -> pulumi.Output[Optional['outputs.IntentRejectionStatement']]: """ - When the user answers "no" to the question defined in - `confirmation_prompt`, Amazon Lex responds with this statement to acknowledge that the intent was - canceled. + If the user answers "no" to the question defined in the prompt field, + Amazon Lex responds with this statement to acknowledge that the intent was canceled. Attributes are + documented below under statement. """ return pulumi.get(self, "rejection_statement") diff --git a/sdk/python/pulumi_aws/lex/outputs.py b/sdk/python/pulumi_aws/lex/outputs.py index 70228c94b0a..28c51f9af75 100644 --- a/sdk/python/pulumi_aws/lex/outputs.py +++ b/sdk/python/pulumi_aws/lex/outputs.py @@ -12,6 +12,8 @@ __all__ = [ 'BotAbortStatement', 'BotAbortStatementMessage', + 'BotAliasConversationLogs', + 'BotAliasConversationLogsLogSetting', 'BotClarificationPrompt', 'BotClarificationPromptMessage', 'BotIntent', @@ -123,6 +125,106 @@ def _translate_property(self, prop): return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop +@pulumi.output_type +class BotAliasConversationLogs(dict): + def __init__(__self__, *, + iam_role_arn: str, + log_settings: Optional[Sequence['outputs.BotAliasConversationLogsLogSetting']] = None): + """ + :param str iam_role_arn: The Amazon Resource Name (ARN) of the IAM role used to write your logs to CloudWatch Logs or an S3 bucket. + :param Sequence['BotAliasConversationLogsLogSettingArgs'] log_settings: The settings for your conversation logs. You can log text, audio, or both. Attributes are documented under log_settings. + """ + pulumi.set(__self__, "iam_role_arn", iam_role_arn) + if log_settings is not None: + pulumi.set(__self__, "log_settings", log_settings) + + @property + @pulumi.getter(name="iamRoleArn") + def iam_role_arn(self) -> str: + """ + The Amazon Resource Name (ARN) of the IAM role used to write your logs to CloudWatch Logs or an S3 bucket. + """ + return pulumi.get(self, "iam_role_arn") + + @property + @pulumi.getter(name="logSettings") + def log_settings(self) -> Optional[Sequence['outputs.BotAliasConversationLogsLogSetting']]: + """ + The settings for your conversation logs. You can log text, audio, or both. Attributes are documented under log_settings. + """ + return pulumi.get(self, "log_settings") + + def _translate_property(self, prop): + return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + +@pulumi.output_type +class BotAliasConversationLogsLogSetting(dict): + def __init__(__self__, *, + destination: str, + log_type: str, + resource_arn: str, + kms_key_arn: Optional[str] = None, + resource_prefix: Optional[str] = None): + """ + :param str destination: The destination where logs are delivered. Options are `CLOUDWATCH_LOGS` or `S3`. + :param str log_type: The type of logging that is enabled. Options are `AUDIO` or `TEXT`. + :param str resource_arn: The Amazon Resource Name (ARN) of the CloudWatch Logs log group or S3 bucket where the logs are delivered. + :param str kms_key_arn: The Amazon Resource Name (ARN) of the key used to encrypt audio logs in an S3 bucket. This can only be specified when `destination` is set to `S3`. + :param str resource_prefix: The prefix of the S3 object key for `AUDIO` logs or the log stream name for `TEXT` logs. + """ + pulumi.set(__self__, "destination", destination) + pulumi.set(__self__, "log_type", log_type) + pulumi.set(__self__, "resource_arn", resource_arn) + if kms_key_arn is not None: + pulumi.set(__self__, "kms_key_arn", kms_key_arn) + if resource_prefix is not None: + pulumi.set(__self__, "resource_prefix", resource_prefix) + + @property + @pulumi.getter + def destination(self) -> str: + """ + The destination where logs are delivered. Options are `CLOUDWATCH_LOGS` or `S3`. + """ + return pulumi.get(self, "destination") + + @property + @pulumi.getter(name="logType") + def log_type(self) -> str: + """ + The type of logging that is enabled. Options are `AUDIO` or `TEXT`. + """ + return pulumi.get(self, "log_type") + + @property + @pulumi.getter(name="resourceArn") + def resource_arn(self) -> str: + """ + The Amazon Resource Name (ARN) of the CloudWatch Logs log group or S3 bucket where the logs are delivered. + """ + return pulumi.get(self, "resource_arn") + + @property + @pulumi.getter(name="kmsKeyArn") + def kms_key_arn(self) -> Optional[str]: + """ + The Amazon Resource Name (ARN) of the key used to encrypt audio logs in an S3 bucket. This can only be specified when `destination` is set to `S3`. + """ + return pulumi.get(self, "kms_key_arn") + + @property + @pulumi.getter(name="resourcePrefix") + def resource_prefix(self) -> Optional[str]: + """ + The prefix of the S3 object key for `AUDIO` logs or the log stream name for `TEXT` logs. + """ + return pulumi.get(self, "resource_prefix") + + def _translate_property(self, prop): + return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + @pulumi.output_type class BotClarificationPrompt(dict): def __init__(__self__, *, @@ -481,9 +583,9 @@ def __init__(__self__, *, rejection_statement: 'outputs.IntentFollowUpPromptRejectionStatement'): """ :param 'IntentFollowUpPromptPromptArgs' prompt: Prompts for information from the user. Attributes are documented under prompt. - :param 'IntentFollowUpPromptRejectionStatementArgs' rejection_statement: When the user answers "no" to the question defined in - `confirmation_prompt`, Amazon Lex responds with this statement to acknowledge that the intent was - canceled. + :param 'IntentFollowUpPromptRejectionStatementArgs' rejection_statement: If the user answers "no" to the question defined in the prompt field, + Amazon Lex responds with this statement to acknowledge that the intent was canceled. Attributes are + documented below under statement. """ pulumi.set(__self__, "prompt", prompt) pulumi.set(__self__, "rejection_statement", rejection_statement) @@ -500,9 +602,9 @@ def prompt(self) -> 'outputs.IntentFollowUpPromptPrompt': @pulumi.getter(name="rejectionStatement") def rejection_statement(self) -> 'outputs.IntentFollowUpPromptRejectionStatement': """ - When the user answers "no" to the question defined in - `confirmation_prompt`, Amazon Lex responds with this statement to acknowledge that the intent was - canceled. + If the user answers "no" to the question defined in the prompt field, + Amazon Lex responds with this statement to acknowledge that the intent was canceled. Attributes are + documented below under statement. """ return pulumi.get(self, "rejection_statement") @@ -875,7 +977,8 @@ def __init__(__self__, *, :param str description: A description of the bot. :param int priority: Directs Lex the order in which to elicit this slot value from the user. For example, if the intent has two slots with priorities 1 and 2, AWS Lex first elicits a value for - the slot with priority 1. + the slot with priority 1. If multiple slots share the same priority, the order in which Lex elicits + values is arbitrary. :param str response_card: The response card. Amazon Lex will substitute session attributes and slot values into the response card. For more information, see [Example: Using a Response Card](https://docs.aws.amazon.com/lex/latest/dg/ex-resp-card.html). @@ -941,7 +1044,8 @@ def priority(self) -> Optional[int]: """ Directs Lex the order in which to elicit this slot value from the user. For example, if the intent has two slots with priorities 1 and 2, AWS Lex first elicits a value for - the slot with priority 1. + the slot with priority 1. If multiple slots share the same priority, the order in which Lex elicits + values is arbitrary. """ return pulumi.get(self, "priority") diff --git a/sdk/python/pulumi_aws/lex/slot_type.py b/sdk/python/pulumi_aws/lex/slot_type.py index f7f19807573..34dcdc25b83 100644 --- a/sdk/python/pulumi_aws/lex/slot_type.py +++ b/sdk/python/pulumi_aws/lex/slot_type.py @@ -36,7 +36,7 @@ def __init__(__self__, import pulumi_aws as aws flower_types = aws.lex.SlotType("flowerTypes", - create_version=False, + create_version=True, description="Types of flowers to order", enumeration_values=[ aws.lex.SlotTypeEnumerationValueArgs( @@ -60,7 +60,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[bool] create_version: Determines if a new slot type version is created when the initial resource is created and on each - update. Defaults to true. + update. Defaults to `false`. :param pulumi.Input[str] description: A description of the slot type. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SlotTypeEnumerationValueArgs']]]] enumeration_values: A list of EnumerationValue objects that defines the values that the slot type can take. Each value can have a list of synonyms, which are additional values that help @@ -70,7 +70,7 @@ def __init__(__self__, :param pulumi.Input[str] value_selection_strategy: Determines the slot resolution strategy that Amazon Lex uses to return slot type values. `ORIGINAL_VALUE` returns the value entered by the user if the user value is similar to the slot value. `TOP_RESOLUTION` returns the first value in the resolution list - if there is a resolution list for the slot, otherwise null is returned. + if there is a resolution list for the slot, otherwise null is returned. Defaults to `ORIGINAL_VALUE`. """ if __name__ is not None: warnings.warn("explicit use of __name__ is deprecated", DeprecationWarning) @@ -129,7 +129,7 @@ def get(resource_name: str, :param pulumi.Input[str] checksum: Checksum identifying the version of the slot type that was created. The checksum is not included as an argument because the resource will add it automatically when updating the slot type. :param pulumi.Input[bool] create_version: Determines if a new slot type version is created when the initial resource is created and on each - update. Defaults to true. + update. Defaults to `false`. :param pulumi.Input[str] created_date: The date when the slot type version was created. :param pulumi.Input[str] description: A description of the slot type. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SlotTypeEnumerationValueArgs']]]] enumeration_values: A list of EnumerationValue objects that defines the values that @@ -141,7 +141,7 @@ def get(resource_name: str, :param pulumi.Input[str] value_selection_strategy: Determines the slot resolution strategy that Amazon Lex uses to return slot type values. `ORIGINAL_VALUE` returns the value entered by the user if the user value is similar to the slot value. `TOP_RESOLUTION` returns the first value in the resolution list - if there is a resolution list for the slot, otherwise null is returned. + if there is a resolution list for the slot, otherwise null is returned. Defaults to `ORIGINAL_VALUE`. :param pulumi.Input[str] version: The version of the slot type. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -173,7 +173,7 @@ def checksum(self) -> pulumi.Output[str]: def create_version(self) -> pulumi.Output[Optional[bool]]: """ Determines if a new slot type version is created when the initial resource is created and on each - update. Defaults to true. + update. Defaults to `false`. """ return pulumi.get(self, "create_version") @@ -227,7 +227,7 @@ def value_selection_strategy(self) -> pulumi.Output[Optional[str]]: Determines the slot resolution strategy that Amazon Lex uses to return slot type values. `ORIGINAL_VALUE` returns the value entered by the user if the user value is similar to the slot value. `TOP_RESOLUTION` returns the first value in the resolution list - if there is a resolution list for the slot, otherwise null is returned. + if there is a resolution list for the slot, otherwise null is returned. Defaults to `ORIGINAL_VALUE`. """ return pulumi.get(self, "value_selection_strategy") diff --git a/sdk/python/pulumi_aws/msk/cluster.py b/sdk/python/pulumi_aws/msk/cluster.py index 03dcebdbd1c..676ce111527 100644 --- a/sdk/python/pulumi_aws/msk/cluster.py +++ b/sdk/python/pulumi_aws/msk/cluster.py @@ -221,8 +221,8 @@ def get(resource_name: str, :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: Amazon Resource Name (ARN) of the MSK Configuration to use in the cluster. - :param pulumi.Input[str] bootstrap_brokers: A comma separated list of one or more hostname:port pairs of kafka brokers suitable to boostrap connectivity to the kafka cluster. Only contains value if `client_broker` encryption in transit is set to `PLAINTEXT` or `TLS_PLAINTEXT`. - :param pulumi.Input[str] bootstrap_brokers_tls: A comma separated list of one or more DNS names (or IPs) and TLS port pairs kafka brokers suitable to boostrap connectivity to the kafka cluster. Only contains value if `client_broker` encryption in transit is set to `TLS_PLAINTEXT` or `TLS`. + :param pulumi.Input[str] bootstrap_brokers: A comma separated list of one or more hostname:port pairs of kafka brokers suitable to bootstrap connectivity to the kafka cluster. Only contains value if `client_broker` encryption in transit is set to `PLAINTEXT` or `TLS_PLAINTEXT`. + :param pulumi.Input[str] bootstrap_brokers_tls: A comma separated list of one or more DNS names (or IPs) and TLS port pairs kafka brokers suitable to bootstrap connectivity to the kafka cluster. Only contains value if `client_broker` encryption in transit is set to `TLS_PLAINTEXT` or `TLS`. :param pulumi.Input[pulumi.InputType['ClusterBrokerNodeGroupInfoArgs']] broker_node_group_info: Configuration block for the broker nodes of the Kafka cluster. :param pulumi.Input[pulumi.InputType['ClusterClientAuthenticationArgs']] client_authentication: Configuration block for specifying a client authentication. See below. :param pulumi.Input[str] cluster_name: Name of the MSK cluster. @@ -272,7 +272,7 @@ def arn(self) -> pulumi.Output[str]: @pulumi.getter(name="bootstrapBrokers") def bootstrap_brokers(self) -> pulumi.Output[str]: """ - A comma separated list of one or more hostname:port pairs of kafka brokers suitable to boostrap connectivity to the kafka cluster. Only contains value if `client_broker` encryption in transit is set to `PLAINTEXT` or `TLS_PLAINTEXT`. + A comma separated list of one or more hostname:port pairs of kafka brokers suitable to bootstrap connectivity to the kafka cluster. Only contains value if `client_broker` encryption in transit is set to `PLAINTEXT` or `TLS_PLAINTEXT`. """ return pulumi.get(self, "bootstrap_brokers") @@ -280,7 +280,7 @@ def bootstrap_brokers(self) -> pulumi.Output[str]: @pulumi.getter(name="bootstrapBrokersTls") def bootstrap_brokers_tls(self) -> pulumi.Output[str]: """ - A comma separated list of one or more DNS names (or IPs) and TLS port pairs kafka brokers suitable to boostrap connectivity to the kafka cluster. Only contains value if `client_broker` encryption in transit is set to `TLS_PLAINTEXT` or `TLS`. + A comma separated list of one or more DNS names (or IPs) and TLS port pairs kafka brokers suitable to bootstrap connectivity to the kafka cluster. Only contains value if `client_broker` encryption in transit is set to `TLS_PLAINTEXT` or `TLS`. """ return pulumi.get(self, "bootstrap_brokers_tls") diff --git a/sdk/python/pulumi_aws/neptune/cluster_instance.py b/sdk/python/pulumi_aws/neptune/cluster_instance.py index 9283024aa88..147f3cc5186 100644 --- a/sdk/python/pulumi_aws/neptune/cluster_instance.py +++ b/sdk/python/pulumi_aws/neptune/cluster_instance.py @@ -75,7 +75,7 @@ def __init__(__self__, :param pulumi.Input[str] cluster_identifier: The identifier of the `neptune.Cluster` in which to launch this instance. :param pulumi.Input[str] engine: The name of the database engine to be used for the neptune instance. Defaults to `neptune`. Valid Values: `neptune`. :param pulumi.Input[str] engine_version: The neptune engine version. - :param pulumi.Input[str] identifier: The indentifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. + :param pulumi.Input[str] identifier: The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. :param pulumi.Input[str] identifier_prefix: Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. :param pulumi.Input[str] instance_class: The instance class to use. :param pulumi.Input[str] neptune_parameter_group_name: The name of the neptune parameter group to associate with this instance. @@ -185,7 +185,7 @@ def get(resource_name: str, :param pulumi.Input[str] endpoint: The connection endpoint in `address:port` format. :param pulumi.Input[str] engine: The name of the database engine to be used for the neptune instance. Defaults to `neptune`. Valid Values: `neptune`. :param pulumi.Input[str] engine_version: The neptune engine version. - :param pulumi.Input[str] identifier: The indentifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. + :param pulumi.Input[str] identifier: The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. :param pulumi.Input[str] identifier_prefix: Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. :param pulumi.Input[str] instance_class: The instance class to use. :param pulumi.Input[str] kms_key_arn: The ARN for the KMS encryption key if one is set to the neptune cluster. @@ -316,7 +316,7 @@ def engine_version(self) -> pulumi.Output[str]: @pulumi.getter def identifier(self) -> pulumi.Output[str]: """ - The indentifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. + The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. """ return pulumi.get(self, "identifier") diff --git a/sdk/python/pulumi_aws/outputs.py b/sdk/python/pulumi_aws/outputs.py index 0dacbdc2dc0..512612f743a 100644 --- a/sdk/python/pulumi_aws/outputs.py +++ b/sdk/python/pulumi_aws/outputs.py @@ -233,6 +233,7 @@ def __init__(__self__, *, sts: Optional[str] = None, swf: Optional[str] = None, synthetics: Optional[str] = None, + timestreamwrite: Optional[str] = None, transfer: Optional[str] = None, waf: Optional[str] = None, wafregional: Optional[str] = None, @@ -509,6 +510,8 @@ def __init__(__self__, *, pulumi.set(__self__, "swf", swf) if synthetics is not None: pulumi.set(__self__, "synthetics", synthetics) + if timestreamwrite is not None: + pulumi.set(__self__, "timestreamwrite", timestreamwrite) if transfer is not None: pulumi.set(__self__, "transfer", transfer) if waf is not None: @@ -1196,6 +1199,11 @@ def swf(self) -> Optional[str]: def synthetics(self) -> Optional[str]: return pulumi.get(self, "synthetics") + @property + @pulumi.getter + def timestreamwrite(self) -> Optional[str]: + return pulumi.get(self, "timestreamwrite") + @property @pulumi.getter def transfer(self) -> Optional[str]: diff --git a/sdk/python/pulumi_aws/rds/proxy.py b/sdk/python/pulumi_aws/rds/proxy.py index f9d26a4b70c..7f184be2441 100644 --- a/sdk/python/pulumi_aws/rds/proxy.py +++ b/sdk/python/pulumi_aws/rds/proxy.py @@ -71,7 +71,6 @@ def __init__(__self__, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags to assign to the resource. :param pulumi.Input[Sequence[pulumi.Input[str]]] vpc_security_group_ids: One or more VPC security group IDs to associate with the new proxy. :param pulumi.Input[Sequence[pulumi.Input[str]]] vpc_subnet_ids: One or more VPC subnet IDs to associate with the new proxy. - describe-db-parameters.html) after initial creation of the group. """ if __name__ is not None: warnings.warn("explicit use of __name__ is deprecated", DeprecationWarning) @@ -151,7 +150,6 @@ def get(resource_name: str, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags to assign to the resource. :param pulumi.Input[Sequence[pulumi.Input[str]]] vpc_security_group_ids: One or more VPC security group IDs to associate with the new proxy. :param pulumi.Input[Sequence[pulumi.Input[str]]] vpc_subnet_ids: One or more VPC subnet IDs to associate with the new proxy. - describe-db-parameters.html) after initial creation of the group. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -264,7 +262,6 @@ def vpc_security_group_ids(self) -> pulumi.Output[Sequence[str]]: def vpc_subnet_ids(self) -> pulumi.Output[Sequence[str]]: """ One or more VPC subnet IDs to associate with the new proxy. - describe-db-parameters.html) after initial creation of the group. """ return pulumi.get(self, "vpc_subnet_ids") diff --git a/sdk/python/pulumi_aws/redshift/__init__.py b/sdk/python/pulumi_aws/redshift/__init__.py index fa85f8c1876..221531c4557 100644 --- a/sdk/python/pulumi_aws/redshift/__init__.py +++ b/sdk/python/pulumi_aws/redshift/__init__.py @@ -6,6 +6,7 @@ from .cluster import * from .event_subscription import * from .get_cluster import * +from .get_orderable_cluster import * from .get_service_account import * from .parameter_group import * from .security_group import * diff --git a/sdk/python/pulumi_aws/redshift/get_orderable_cluster.py b/sdk/python/pulumi_aws/redshift/get_orderable_cluster.py new file mode 100644 index 00000000000..15ca6d16430 --- /dev/null +++ b/sdk/python/pulumi_aws/redshift/get_orderable_cluster.py @@ -0,0 +1,137 @@ +# 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 warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union +from .. import _utilities, _tables + +__all__ = [ + 'GetOrderableClusterResult', + 'AwaitableGetOrderableClusterResult', + 'get_orderable_cluster', +] + +@pulumi.output_type +class GetOrderableClusterResult: + """ + A collection of values returned by getOrderableCluster. + """ + def __init__(__self__, availability_zones=None, cluster_type=None, cluster_version=None, id=None, node_type=None, preferred_node_types=None): + if availability_zones and not isinstance(availability_zones, list): + raise TypeError("Expected argument 'availability_zones' to be a list") + pulumi.set(__self__, "availability_zones", availability_zones) + if cluster_type and not isinstance(cluster_type, str): + raise TypeError("Expected argument 'cluster_type' to be a str") + pulumi.set(__self__, "cluster_type", cluster_type) + if cluster_version and not isinstance(cluster_version, str): + raise TypeError("Expected argument 'cluster_version' to be a str") + pulumi.set(__self__, "cluster_version", cluster_version) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if node_type and not isinstance(node_type, str): + raise TypeError("Expected argument 'node_type' to be a str") + pulumi.set(__self__, "node_type", node_type) + if preferred_node_types and not isinstance(preferred_node_types, list): + raise TypeError("Expected argument 'preferred_node_types' to be a list") + pulumi.set(__self__, "preferred_node_types", preferred_node_types) + + @property + @pulumi.getter(name="availabilityZones") + def availability_zones(self) -> Sequence[str]: + """ + List of Availability Zone names where the Redshit Cluster is available. + """ + return pulumi.get(self, "availability_zones") + + @property + @pulumi.getter(name="clusterType") + def cluster_type(self) -> str: + return pulumi.get(self, "cluster_type") + + @property + @pulumi.getter(name="clusterVersion") + def cluster_version(self) -> str: + return pulumi.get(self, "cluster_version") + + @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="nodeType") + def node_type(self) -> str: + return pulumi.get(self, "node_type") + + @property + @pulumi.getter(name="preferredNodeTypes") + def preferred_node_types(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "preferred_node_types") + + +class AwaitableGetOrderableClusterResult(GetOrderableClusterResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetOrderableClusterResult( + availability_zones=self.availability_zones, + cluster_type=self.cluster_type, + cluster_version=self.cluster_version, + id=self.id, + node_type=self.node_type, + preferred_node_types=self.preferred_node_types) + + +def get_orderable_cluster(cluster_type: Optional[str] = None, + cluster_version: Optional[str] = None, + node_type: Optional[str] = None, + preferred_node_types: Optional[Sequence[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetOrderableClusterResult: + """ + Information about Redshift Orderable Clusters and valid parameter combinations. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + test = aws.redshift.get_orderable_cluster(cluster_type="multi-node", + preferred_node_types=[ + "dc2.large", + "ds2.xlarge", + ]) + ``` + + + :param str cluster_type: Reshift Cluster type. e.g. `multi-node` or `single-node` + :param str cluster_version: Redshift Cluster version. e.g. `1.0` + :param str node_type: Redshift Cluster node type. e.g. `dc2.8xlarge` + :param Sequence[str] preferred_node_types: Ordered list of preferred Redshift Cluster node types. The first match in this list will be returned. If no preferred matches are found and the original search returned more than one result, an error is returned. + """ + __args__ = dict() + __args__['clusterType'] = cluster_type + __args__['clusterVersion'] = cluster_version + __args__['nodeType'] = node_type + __args__['preferredNodeTypes'] = preferred_node_types + if opts is None: + opts = pulumi.InvokeOptions() + if opts.version is None: + opts.version = _utilities.get_version() + __ret__ = pulumi.runtime.invoke('aws:redshift/getOrderableCluster:getOrderableCluster', __args__, opts=opts, typ=GetOrderableClusterResult).value + + return AwaitableGetOrderableClusterResult( + availability_zones=__ret__.availability_zones, + cluster_type=__ret__.cluster_type, + cluster_version=__ret__.cluster_version, + id=__ret__.id, + node_type=__ret__.node_type, + preferred_node_types=__ret__.preferred_node_types) diff --git a/sdk/python/pulumi_aws/s3/__init__.py b/sdk/python/pulumi_aws/s3/__init__.py index 3008050d3df..afd3d9e77ab 100644 --- a/sdk/python/pulumi_aws/s3/__init__.py +++ b/sdk/python/pulumi_aws/s3/__init__.py @@ -10,6 +10,7 @@ from .bucket_metric import * from .bucket_notification import * from .bucket_object import * +from .bucket_ownership_controls import * from .bucket_policy import * from .bucket_public_access_block import * from .get_bucket import * diff --git a/sdk/python/pulumi_aws/s3/_inputs.py b/sdk/python/pulumi_aws/s3/_inputs.py index 23dc921ae56..22bc35c1ce8 100644 --- a/sdk/python/pulumi_aws/s3/_inputs.py +++ b/sdk/python/pulumi_aws/s3/_inputs.py @@ -31,6 +31,7 @@ 'BucketObjectLockConfigurationArgs', 'BucketObjectLockConfigurationRuleArgs', 'BucketObjectLockConfigurationRuleDefaultRetentionArgs', + 'BucketOwnershipControlsRuleArgs', 'BucketReplicationConfigurationArgs', 'BucketReplicationConfigurationRuleArgs', 'BucketReplicationConfigurationRuleDestinationArgs', @@ -1269,6 +1270,28 @@ def years(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "years", value) +@pulumi.input_type +class BucketOwnershipControlsRuleArgs: + def __init__(__self__, *, + object_ownership: pulumi.Input[str]): + """ + :param pulumi.Input[str] object_ownership: Object ownership. Valid values: `BucketOwnerPreferred` or `ObjectWriter` + """ + pulumi.set(__self__, "object_ownership", object_ownership) + + @property + @pulumi.getter(name="objectOwnership") + def object_ownership(self) -> pulumi.Input[str]: + """ + Object ownership. Valid values: `BucketOwnerPreferred` or `ObjectWriter` + """ + return pulumi.get(self, "object_ownership") + + @object_ownership.setter + def object_ownership(self, value: pulumi.Input[str]): + pulumi.set(self, "object_ownership", value) + + @pulumi.input_type class BucketReplicationConfigurationArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/s3/bucket_object.py b/sdk/python/pulumi_aws/s3/bucket_object.py index 034501845af..b24a5e8d249 100644 --- a/sdk/python/pulumi_aws/s3/bucket_object.py +++ b/sdk/python/pulumi_aws/s3/bucket_object.py @@ -126,10 +126,6 @@ def __init__(__self__, :param pulumi.Input[bool] force_destroy: 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. :param pulumi.Input[str] key: The name of the object once it is in the bucket. - :param pulumi.Input[str] kms_key_id: Specifies the AWS KMS Key ARN to use for object encryption. - This value is a fully qualified **ARN** of the KMS Key. If using `kms.Key`, - use the exported `arn` attribute: - `kms_key_id = "${aws_kms_key.foo.arn}"` :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: A 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). :param pulumi.Input[str] object_lock_legal_hold_status: The [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`. :param pulumi.Input[str] object_lock_mode: The 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`. @@ -237,10 +233,6 @@ def get(resource_name: str, :param pulumi.Input[bool] force_destroy: 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. :param pulumi.Input[str] key: The name of the object once it is in the bucket. - :param pulumi.Input[str] kms_key_id: Specifies the AWS KMS Key ARN to use for object encryption. - This value is a fully qualified **ARN** of the KMS Key. If using `kms.Key`, - use the exported `arn` attribute: - `kms_key_id = "${aws_kms_key.foo.arn}"` :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: A 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). :param pulumi.Input[str] object_lock_legal_hold_status: The [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`. :param pulumi.Input[str] object_lock_mode: The 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`. @@ -383,13 +375,7 @@ def key(self) -> pulumi.Output[str]: @property @pulumi.getter(name="kmsKeyId") - def kms_key_id(self) -> pulumi.Output[Optional[str]]: - """ - Specifies the AWS KMS Key ARN to use for object encryption. - This value is a fully qualified **ARN** of the KMS Key. If using `kms.Key`, - use the exported `arn` attribute: - `kms_key_id = "${aws_kms_key.foo.arn}"` - """ + def kms_key_id(self) -> pulumi.Output[str]: return pulumi.get(self, "kms_key_id") @property diff --git a/sdk/python/pulumi_aws/s3/bucket_ownership_controls.py b/sdk/python/pulumi_aws/s3/bucket_ownership_controls.py new file mode 100644 index 00000000000..6284b43d402 --- /dev/null +++ b/sdk/python/pulumi_aws/s3/bucket_ownership_controls.py @@ -0,0 +1,106 @@ +# 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 warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union +from .. import _utilities, _tables +from . import outputs +from ._inputs import * + +__all__ = ['BucketOwnershipControls'] + + +class BucketOwnershipControls(pulumi.CustomResource): + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + bucket: Optional[pulumi.Input[str]] = None, + rule: Optional[pulumi.Input[pulumi.InputType['BucketOwnershipControlsRuleArgs']]] = None, + __props__=None, + __name__=None, + __opts__=None): + """ + Create a BucketOwnershipControls resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] bucket: The name of the bucket that you want to associate this access point with. + :param pulumi.Input[pulumi.InputType['BucketOwnershipControlsRuleArgs']] rule: Configuration block(s) with Ownership Controls rules. Detailed below. + """ + if __name__ is not None: + warnings.warn("explicit use of __name__ is deprecated", DeprecationWarning) + resource_name = __name__ + if __opts__ is not None: + warnings.warn("explicit use of __opts__ is deprecated, use 'opts' instead", DeprecationWarning) + opts = __opts__ + if opts is None: + opts = pulumi.ResourceOptions() + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.version is None: + opts.version = _utilities.get_version() + 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__ = dict() + + if bucket is None: + raise TypeError("Missing required property 'bucket'") + __props__['bucket'] = bucket + if rule is None: + raise TypeError("Missing required property 'rule'") + __props__['rule'] = rule + super(BucketOwnershipControls, __self__).__init__( + 'aws:s3/bucketOwnershipControls:BucketOwnershipControls', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + bucket: Optional[pulumi.Input[str]] = None, + rule: Optional[pulumi.Input[pulumi.InputType['BucketOwnershipControlsRuleArgs']]] = None) -> 'BucketOwnershipControls': + """ + Get an existing BucketOwnershipControls 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] bucket: The name of the bucket that you want to associate this access point with. + :param pulumi.Input[pulumi.InputType['BucketOwnershipControlsRuleArgs']] rule: Configuration block(s) with Ownership Controls rules. Detailed below. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = dict() + + __props__["bucket"] = bucket + __props__["rule"] = rule + return BucketOwnershipControls(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def bucket(self) -> pulumi.Output[str]: + """ + The name of the bucket that you want to associate this access point with. + """ + return pulumi.get(self, "bucket") + + @property + @pulumi.getter + def rule(self) -> pulumi.Output['outputs.BucketOwnershipControlsRule']: + """ + Configuration block(s) with Ownership Controls rules. Detailed below. + """ + return pulumi.get(self, "rule") + + def translate_output_property(self, prop): + return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + def translate_input_property(self, prop): + return _tables.SNAKE_TO_CAMEL_CASE_TABLE.get(prop) or prop + diff --git a/sdk/python/pulumi_aws/s3/outputs.py b/sdk/python/pulumi_aws/s3/outputs.py index c503acaed4d..8dfad5f6e59 100644 --- a/sdk/python/pulumi_aws/s3/outputs.py +++ b/sdk/python/pulumi_aws/s3/outputs.py @@ -32,6 +32,7 @@ 'BucketObjectLockConfiguration', 'BucketObjectLockConfigurationRule', 'BucketObjectLockConfigurationRuleDefaultRetention', + 'BucketOwnershipControlsRule', 'BucketReplicationConfiguration', 'BucketReplicationConfigurationRule', 'BucketReplicationConfigurationRuleDestination', @@ -1068,6 +1069,27 @@ def _translate_property(self, prop): return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop +@pulumi.output_type +class BucketOwnershipControlsRule(dict): + def __init__(__self__, *, + object_ownership: str): + """ + :param str object_ownership: Object ownership. Valid values: `BucketOwnerPreferred` or `ObjectWriter` + """ + pulumi.set(__self__, "object_ownership", object_ownership) + + @property + @pulumi.getter(name="objectOwnership") + def object_ownership(self) -> str: + """ + Object ownership. Valid values: `BucketOwnerPreferred` or `ObjectWriter` + """ + return pulumi.get(self, "object_ownership") + + def _translate_property(self, prop): + return _tables.CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + @pulumi.output_type class BucketReplicationConfiguration(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/sns/get_topic.py b/sdk/python/pulumi_aws/sns/get_topic.py index 438ffe2e814..63dedabc247 100644 --- a/sdk/python/pulumi_aws/sns/get_topic.py +++ b/sdk/python/pulumi_aws/sns/get_topic.py @@ -34,7 +34,7 @@ def __init__(__self__, arn=None, id=None, name=None): @pulumi.getter def arn(self) -> str: """ - Set to the ARN of the found topic, suitable for referencing in other resources that support SNS topics. + Amazon Resource Name (ARN) of the found topic, suitable for referencing in other resources that support SNS topics. """ return pulumi.get(self, "arn")