Class NetworkServicesGateway.Builder

    • Method Detail

      • create

        @Stability(Stable)
        public static NetworkServicesGateway.Builder create​(software.constructs.Construct scope,
                                                            String id)
        Parameters:
        scope - The scope in which to define this construct. This parameter is required.
        id - The scoped construct ID. This parameter is required.
        Returns:
        a new instance of NetworkServicesGateway.Builder.
      • connection

        @Stability(Experimental)
        public NetworkServicesGateway.Builder connection​(com.hashicorp.cdktf.SSHProvisionerConnection connection)
        Parameters:
        connection - This parameter is required.
        Returns:
        this
      • connection

        @Stability(Experimental)
        public NetworkServicesGateway.Builder connection​(com.hashicorp.cdktf.WinrmProvisionerConnection connection)
        Parameters:
        connection - This parameter is required.
        Returns:
        this
      • count

        @Stability(Experimental)
        public NetworkServicesGateway.Builder count​(com.hashicorp.cdktf.TerraformCount count)
        Parameters:
        count - This parameter is required.
        Returns:
        this
      • dependsOn

        @Stability(Experimental)
        public NetworkServicesGateway.Builder dependsOn​(List<? extends com.hashicorp.cdktf.ITerraformDependable> dependsOn)
        Parameters:
        dependsOn - This parameter is required.
        Returns:
        this
      • forEach

        @Stability(Experimental)
        public NetworkServicesGateway.Builder forEach​(com.hashicorp.cdktf.ITerraformIterator forEach)
        Parameters:
        forEach - This parameter is required.
        Returns:
        this
      • lifecycle

        @Stability(Experimental)
        public NetworkServicesGateway.Builder lifecycle​(com.hashicorp.cdktf.TerraformResourceLifecycle lifecycle)
        Parameters:
        lifecycle - This parameter is required.
        Returns:
        this
      • provider

        @Stability(Experimental)
        public NetworkServicesGateway.Builder provider​(com.hashicorp.cdktf.TerraformProvider provider)
        Parameters:
        provider - This parameter is required.
        Returns:
        this
      • provisioners

        @Stability(Experimental)
        public NetworkServicesGateway.Builder provisioners​(List<? extends Object> provisioners)
        Parameters:
        provisioners - This parameter is required.
        Returns:
        this
      • name

        @Stability(Stable)
        public NetworkServicesGateway.Builder name​(String name)
        Short name of the Gateway resource to be created.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/network_services_gateway#name NetworkServicesGateway#name}

        Parameters:
        name - Short name of the Gateway resource to be created. This parameter is required.
        Returns:
        this
      • ports

        @Stability(Stable)
        public NetworkServicesGateway.Builder ports​(List<? extends Number> ports)
        One or more port numbers (1-65535), on which the Gateway will receive traffic.

        The proxy binds to the specified ports. Gateways of type 'SECURE_WEB_GATEWAY' are limited to 1 port. Gateways of type 'OPEN_MESH' listen on 0.0.0.0 and support multiple ports. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/network_services_gateway#ports NetworkServicesGateway#ports}

        Parameters:
        ports - One or more port numbers (1-65535), on which the Gateway will receive traffic. This parameter is required.
        Returns:
        this
      • type

        @Stability(Stable)
        public NetworkServicesGateway.Builder type​(String type)
        Immutable. The type of the customer-managed gateway. Possible values are: * OPEN_MESH * SECURE_WEB_GATEWAY. Possible values: ["TYPE_UNSPECIFIED", "OPEN_MESH", "SECURE_WEB_GATEWAY"].

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/network_services_gateway#type NetworkServicesGateway#type}

        Parameters:
        type - Immutable. The type of the customer-managed gateway. Possible values are: * OPEN_MESH * SECURE_WEB_GATEWAY. Possible values: ["TYPE_UNSPECIFIED", "OPEN_MESH", "SECURE_WEB_GATEWAY"]. This parameter is required.
        Returns:
        this
      • addresses

        @Stability(Stable)
        public NetworkServicesGateway.Builder addresses​(List<String> addresses)
        Zero or one IPv4-address on which the Gateway will receive the traffic.

        When no address is provided, an IP from the subnetwork is allocated This field only applies to gateways of type 'SECURE_WEB_GATEWAY'. Gateways of type 'OPEN_MESH' listen on 0.0.0.0. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/network_services_gateway#addresses NetworkServicesGateway#addresses}

        Parameters:
        addresses - Zero or one IPv4-address on which the Gateway will receive the traffic. This parameter is required.
        Returns:
        this
      • certificateUrls

        @Stability(Stable)
        public NetworkServicesGateway.Builder certificateUrls​(List<String> certificateUrls)
        A fully-qualified Certificates URL reference.

        The proxy presents a Certificate (selected based on SNI) when establishing a TLS connection. This feature only applies to gateways of type 'SECURE_WEB_GATEWAY'. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/network_services_gateway#certificate_urls NetworkServicesGateway#certificate_urls}

        Parameters:
        certificateUrls - A fully-qualified Certificates URL reference. This parameter is required.
        Returns:
        this
      • deleteSwgAutogenRouterOnDestroy

        @Stability(Stable)
        public NetworkServicesGateway.Builder deleteSwgAutogenRouterOnDestroy​(Boolean deleteSwgAutogenRouterOnDestroy)
        When deleting a gateway of type 'SECURE_WEB_GATEWAY', this boolean option will also delete auto generated router by the gateway creation.

        If there is no other gateway of type 'SECURE_WEB_GATEWAY' remaining for that region and network it will be deleted. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/network_services_gateway#delete_swg_autogen_router_on_destroy NetworkServicesGateway#delete_swg_autogen_router_on_destroy}

        Parameters:
        deleteSwgAutogenRouterOnDestroy - When deleting a gateway of type 'SECURE_WEB_GATEWAY', this boolean option will also delete auto generated router by the gateway creation. This parameter is required.
        Returns:
        this
      • deleteSwgAutogenRouterOnDestroy

        @Stability(Stable)
        public NetworkServicesGateway.Builder deleteSwgAutogenRouterOnDestroy​(com.hashicorp.cdktf.IResolvable deleteSwgAutogenRouterOnDestroy)
        When deleting a gateway of type 'SECURE_WEB_GATEWAY', this boolean option will also delete auto generated router by the gateway creation.

        If there is no other gateway of type 'SECURE_WEB_GATEWAY' remaining for that region and network it will be deleted. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/network_services_gateway#delete_swg_autogen_router_on_destroy NetworkServicesGateway#delete_swg_autogen_router_on_destroy}

        Parameters:
        deleteSwgAutogenRouterOnDestroy - When deleting a gateway of type 'SECURE_WEB_GATEWAY', this boolean option will also delete auto generated router by the gateway creation. This parameter is required.
        Returns:
        this
      • description

        @Stability(Stable)
        public NetworkServicesGateway.Builder description​(String description)
        A free-text description of the resource. Max length 1024 characters.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/network_services_gateway#description NetworkServicesGateway#description}

        Parameters:
        description - A free-text description of the resource. Max length 1024 characters. This parameter is required.
        Returns:
        this
      • gatewaySecurityPolicy

        @Stability(Stable)
        public NetworkServicesGateway.Builder gatewaySecurityPolicy​(String gatewaySecurityPolicy)
        A fully-qualified GatewaySecurityPolicy URL reference.

        Defines how a server should apply security policy to inbound (VM to Proxy) initiated connections. For example: 'projects/* /locations/* /gatewaySecurityPolicies/swg-policy'. This policy is specific to gateways of type 'SECURE_WEB_GATEWAY'. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/network_services_gateway#gateway_security_policy NetworkServicesGateway#gateway_security_policy} Note: The above comment contained a comment block ending sequence (* followed by /). We have introduced a space between to prevent syntax errors. Please ignore the space.

        Parameters:
        gatewaySecurityPolicy - A fully-qualified GatewaySecurityPolicy URL reference. This parameter is required.
        Returns:
        this
      • id

        @Stability(Stable)
        public NetworkServicesGateway.Builder id​(String id)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/network_services_gateway#id NetworkServicesGateway#id}.

        Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

        Parameters:
        id - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/network_services_gateway#id NetworkServicesGateway#id}. This parameter is required.
        Returns:
        this
      • labels

        @Stability(Stable)
        public NetworkServicesGateway.Builder labels​(Map<String,​String> labels)
        Set of label tags associated with the Gateway resource.

        **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/network_services_gateway#labels NetworkServicesGateway#labels}

        Parameters:
        labels - Set of label tags associated with the Gateway resource. This parameter is required.
        Returns:
        this
      • location

        @Stability(Stable)
        public NetworkServicesGateway.Builder location​(String location)
        The location of the gateway. The default value is 'global'.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/network_services_gateway#location NetworkServicesGateway#location}

        Parameters:
        location - The location of the gateway. The default value is 'global'. This parameter is required.
        Returns:
        this
      • network

        @Stability(Stable)
        public NetworkServicesGateway.Builder network​(String network)
        The relative resource name identifying the VPC network that is using this configuration.

        For example: 'projects/* /global/networks/network-1'. Currently, this field is specific to gateways of type 'SECURE_WEB_GATEWAY'. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/network_services_gateway#network NetworkServicesGateway#network} Note: The above comment contained a comment block ending sequence (* followed by /). We have introduced a space between to prevent syntax errors. Please ignore the space.

        Parameters:
        network - The relative resource name identifying the VPC network that is using this configuration. This parameter is required.
        Returns:
        this
      • project

        @Stability(Stable)
        public NetworkServicesGateway.Builder project​(String project)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/network_services_gateway#project NetworkServicesGateway#project}.

        Parameters:
        project - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/network_services_gateway#project NetworkServicesGateway#project}. This parameter is required.
        Returns:
        this
      • scope

        @Stability(Stable)
        public NetworkServicesGateway.Builder scope​(String scope)
        Immutable.

        Scope determines how configuration across multiple Gateway instances are merged. The configuration for multiple Gateway instances with the same scope will be merged as presented as a single coniguration to the proxy/load balancer. Max length 64 characters. Scope should start with a letter and can only have letters, numbers, hyphens. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/network_services_gateway#scope NetworkServicesGateway#scope}

        Parameters:
        scope - Immutable. This parameter is required.
        Returns:
        this
      • serverTlsPolicy

        @Stability(Stable)
        public NetworkServicesGateway.Builder serverTlsPolicy​(String serverTlsPolicy)
        A fully-qualified ServerTLSPolicy URL reference. Specifies how TLS traffic is terminated. If empty, TLS termination is disabled.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/network_services_gateway#server_tls_policy NetworkServicesGateway#server_tls_policy}

        Parameters:
        serverTlsPolicy - A fully-qualified ServerTLSPolicy URL reference. Specifies how TLS traffic is terminated. If empty, TLS termination is disabled. This parameter is required.
        Returns:
        this
      • subnetwork

        @Stability(Stable)
        public NetworkServicesGateway.Builder subnetwork​(String subnetwork)
        The relative resource name identifying the subnetwork in which this SWG is allocated.

        For example: 'projects/* /regions/us-central1/subnetworks/network-1'. Currently, this field is specific to gateways of type 'SECURE_WEB_GATEWAY. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/network_services_gateway#subnetwork NetworkServicesGateway#subnetwork} Note: The above comment contained a comment block ending sequence (* followed by /). We have introduced a space between to prevent syntax errors. Please ignore the space.

        Parameters:
        subnetwork - The relative resource name identifying the subnetwork in which this SWG is allocated. This parameter is required.
        Returns:
        this
      • timeouts

        @Stability(Stable)
        public NetworkServicesGateway.Builder timeouts​(NetworkServicesGatewayTimeouts timeouts)
        timeouts block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/network_services_gateway#timeouts NetworkServicesGateway#timeouts}

        Parameters:
        timeouts - timeouts block. This parameter is required.
        Returns:
        this