Class: Google::Cloud::Functions::V2::ServiceConfig

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/cloud/functions/v2/functions.rb

Overview

Describes the Service being deployed. Currently Supported : Cloud Run (fully managed).

Defined Under Namespace

Modules: IngressSettings, SecurityLevel, VpcConnectorEgressSettings Classes: EnvironmentVariablesEntry

Instance Attribute Summary collapse

Instance Attribute Details

#all_traffic_on_latest_revision::Boolean

Returns Whether 100% of traffic is routed to the latest revision. On CreateFunction and UpdateFunction, when set to true, the revision being deployed will serve 100% of traffic, ignoring any traffic split settings, if any. On GetFunction, true will be returned if the latest revision is serving 100% of traffic.

Returns:

  • (::Boolean)

    Whether 100% of traffic is routed to the latest revision. On CreateFunction and UpdateFunction, when set to true, the revision being deployed will serve 100% of traffic, ignoring any traffic split settings, if any. On GetFunction, true will be returned if the latest revision is serving 100% of traffic.



423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
# File 'proto_docs/google/cloud/functions/v2/functions.rb', line 423

class ServiceConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class EnvironmentVariablesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Available egress settings.
  #
  # This controls what traffic is diverted through the VPC Access Connector
  # resource. By default PRIVATE_RANGES_ONLY will be used.
  module VpcConnectorEgressSettings
    # Unspecified.
    VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED = 0

    # Use the VPC Access Connector only for private IP space from RFC1918.
    PRIVATE_RANGES_ONLY = 1

    # Force the use of VPC Access Connector for all egress traffic from the
    # function.
    ALL_TRAFFIC = 2
  end

  # Available ingress settings.
  #
  # This controls what traffic can reach the function.
  #
  # If unspecified, ALLOW_ALL will be used.
  module IngressSettings
    # Unspecified.
    INGRESS_SETTINGS_UNSPECIFIED = 0

    # Allow HTTP traffic from public and private sources.
    ALLOW_ALL = 1

    # Allow HTTP traffic from only private VPC sources.
    ALLOW_INTERNAL_ONLY = 2

    # Allow HTTP traffic from private VPC sources and through GCLB.
    ALLOW_INTERNAL_AND_GCLB = 3
  end

  # Available security level settings.
  #
  # This enforces security protocol on function URL.
  #
  # Security level is only configurable for 1st Gen functions, If unspecified,
  # SECURE_OPTIONAL will be used. 2nd Gen functions are SECURE_ALWAYS ONLY.
  module SecurityLevel
    # Unspecified.
    SECURITY_LEVEL_UNSPECIFIED = 0

    # Requests for a URL that match this handler that do not use HTTPS are
    # automatically redirected to the HTTPS URL with the same path. Query
    # parameters are reserved for the redirect.
    SECURE_ALWAYS = 1

    # Both HTTP and HTTPS requests with URLs that match the handler succeed
    # without redirects. The application can examine the request to determine
    # which protocol was used and respond accordingly.
    SECURE_OPTIONAL = 2
  end
end

#available_cpu::String

Returns [Preview] The number of CPUs used in a single container instance. Default value is calculated from available memory. Supports the same values as Cloud Run, see https://cloud.google.com/run/docs/reference/rest/v1/Container#resourcerequirements Example: "1" indicates 1 vCPU.

Returns:



423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
# File 'proto_docs/google/cloud/functions/v2/functions.rb', line 423

class ServiceConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class EnvironmentVariablesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Available egress settings.
  #
  # This controls what traffic is diverted through the VPC Access Connector
  # resource. By default PRIVATE_RANGES_ONLY will be used.
  module VpcConnectorEgressSettings
    # Unspecified.
    VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED = 0

    # Use the VPC Access Connector only for private IP space from RFC1918.
    PRIVATE_RANGES_ONLY = 1

    # Force the use of VPC Access Connector for all egress traffic from the
    # function.
    ALL_TRAFFIC = 2
  end

  # Available ingress settings.
  #
  # This controls what traffic can reach the function.
  #
  # If unspecified, ALLOW_ALL will be used.
  module IngressSettings
    # Unspecified.
    INGRESS_SETTINGS_UNSPECIFIED = 0

    # Allow HTTP traffic from public and private sources.
    ALLOW_ALL = 1

    # Allow HTTP traffic from only private VPC sources.
    ALLOW_INTERNAL_ONLY = 2

    # Allow HTTP traffic from private VPC sources and through GCLB.
    ALLOW_INTERNAL_AND_GCLB = 3
  end

  # Available security level settings.
  #
  # This enforces security protocol on function URL.
  #
  # Security level is only configurable for 1st Gen functions, If unspecified,
  # SECURE_OPTIONAL will be used. 2nd Gen functions are SECURE_ALWAYS ONLY.
  module SecurityLevel
    # Unspecified.
    SECURITY_LEVEL_UNSPECIFIED = 0

    # Requests for a URL that match this handler that do not use HTTPS are
    # automatically redirected to the HTTPS URL with the same path. Query
    # parameters are reserved for the redirect.
    SECURE_ALWAYS = 1

    # Both HTTP and HTTPS requests with URLs that match the handler succeed
    # without redirects. The application can examine the request to determine
    # which protocol was used and respond accordingly.
    SECURE_OPTIONAL = 2
  end
end

#available_memory::String

Returns The amount of memory available for a function. Defaults to 256M. Supported units are k, M, G, Mi, Gi. If no unit is supplied the value is interpreted as bytes. See https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go a full description.

Returns:



423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
# File 'proto_docs/google/cloud/functions/v2/functions.rb', line 423

class ServiceConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class EnvironmentVariablesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Available egress settings.
  #
  # This controls what traffic is diverted through the VPC Access Connector
  # resource. By default PRIVATE_RANGES_ONLY will be used.
  module VpcConnectorEgressSettings
    # Unspecified.
    VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED = 0

    # Use the VPC Access Connector only for private IP space from RFC1918.
    PRIVATE_RANGES_ONLY = 1

    # Force the use of VPC Access Connector for all egress traffic from the
    # function.
    ALL_TRAFFIC = 2
  end

  # Available ingress settings.
  #
  # This controls what traffic can reach the function.
  #
  # If unspecified, ALLOW_ALL will be used.
  module IngressSettings
    # Unspecified.
    INGRESS_SETTINGS_UNSPECIFIED = 0

    # Allow HTTP traffic from public and private sources.
    ALLOW_ALL = 1

    # Allow HTTP traffic from only private VPC sources.
    ALLOW_INTERNAL_ONLY = 2

    # Allow HTTP traffic from private VPC sources and through GCLB.
    ALLOW_INTERNAL_AND_GCLB = 3
  end

  # Available security level settings.
  #
  # This enforces security protocol on function URL.
  #
  # Security level is only configurable for 1st Gen functions, If unspecified,
  # SECURE_OPTIONAL will be used. 2nd Gen functions are SECURE_ALWAYS ONLY.
  module SecurityLevel
    # Unspecified.
    SECURITY_LEVEL_UNSPECIFIED = 0

    # Requests for a URL that match this handler that do not use HTTPS are
    # automatically redirected to the HTTPS URL with the same path. Query
    # parameters are reserved for the redirect.
    SECURE_ALWAYS = 1

    # Both HTTP and HTTPS requests with URLs that match the handler succeed
    # without redirects. The application can examine the request to determine
    # which protocol was used and respond accordingly.
    SECURE_OPTIONAL = 2
  end
end

#environment_variables::Google::Protobuf::Map{::String => ::String}

Returns Environment variables that shall be available during function execution.

Returns:

  • (::Google::Protobuf::Map{::String => ::String})

    Environment variables that shall be available during function execution.



423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
# File 'proto_docs/google/cloud/functions/v2/functions.rb', line 423

class ServiceConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class EnvironmentVariablesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Available egress settings.
  #
  # This controls what traffic is diverted through the VPC Access Connector
  # resource. By default PRIVATE_RANGES_ONLY will be used.
  module VpcConnectorEgressSettings
    # Unspecified.
    VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED = 0

    # Use the VPC Access Connector only for private IP space from RFC1918.
    PRIVATE_RANGES_ONLY = 1

    # Force the use of VPC Access Connector for all egress traffic from the
    # function.
    ALL_TRAFFIC = 2
  end

  # Available ingress settings.
  #
  # This controls what traffic can reach the function.
  #
  # If unspecified, ALLOW_ALL will be used.
  module IngressSettings
    # Unspecified.
    INGRESS_SETTINGS_UNSPECIFIED = 0

    # Allow HTTP traffic from public and private sources.
    ALLOW_ALL = 1

    # Allow HTTP traffic from only private VPC sources.
    ALLOW_INTERNAL_ONLY = 2

    # Allow HTTP traffic from private VPC sources and through GCLB.
    ALLOW_INTERNAL_AND_GCLB = 3
  end

  # Available security level settings.
  #
  # This enforces security protocol on function URL.
  #
  # Security level is only configurable for 1st Gen functions, If unspecified,
  # SECURE_OPTIONAL will be used. 2nd Gen functions are SECURE_ALWAYS ONLY.
  module SecurityLevel
    # Unspecified.
    SECURITY_LEVEL_UNSPECIFIED = 0

    # Requests for a URL that match this handler that do not use HTTPS are
    # automatically redirected to the HTTPS URL with the same path. Query
    # parameters are reserved for the redirect.
    SECURE_ALWAYS = 1

    # Both HTTP and HTTPS requests with URLs that match the handler succeed
    # without redirects. The application can examine the request to determine
    # which protocol was used and respond accordingly.
    SECURE_OPTIONAL = 2
  end
end

#ingress_settings::Google::Cloud::Functions::V2::ServiceConfig::IngressSettings

Returns The ingress settings for the function, controlling what traffic can reach it.

Returns:



423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
# File 'proto_docs/google/cloud/functions/v2/functions.rb', line 423

class ServiceConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class EnvironmentVariablesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Available egress settings.
  #
  # This controls what traffic is diverted through the VPC Access Connector
  # resource. By default PRIVATE_RANGES_ONLY will be used.
  module VpcConnectorEgressSettings
    # Unspecified.
    VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED = 0

    # Use the VPC Access Connector only for private IP space from RFC1918.
    PRIVATE_RANGES_ONLY = 1

    # Force the use of VPC Access Connector for all egress traffic from the
    # function.
    ALL_TRAFFIC = 2
  end

  # Available ingress settings.
  #
  # This controls what traffic can reach the function.
  #
  # If unspecified, ALLOW_ALL will be used.
  module IngressSettings
    # Unspecified.
    INGRESS_SETTINGS_UNSPECIFIED = 0

    # Allow HTTP traffic from public and private sources.
    ALLOW_ALL = 1

    # Allow HTTP traffic from only private VPC sources.
    ALLOW_INTERNAL_ONLY = 2

    # Allow HTTP traffic from private VPC sources and through GCLB.
    ALLOW_INTERNAL_AND_GCLB = 3
  end

  # Available security level settings.
  #
  # This enforces security protocol on function URL.
  #
  # Security level is only configurable for 1st Gen functions, If unspecified,
  # SECURE_OPTIONAL will be used. 2nd Gen functions are SECURE_ALWAYS ONLY.
  module SecurityLevel
    # Unspecified.
    SECURITY_LEVEL_UNSPECIFIED = 0

    # Requests for a URL that match this handler that do not use HTTPS are
    # automatically redirected to the HTTPS URL with the same path. Query
    # parameters are reserved for the redirect.
    SECURE_ALWAYS = 1

    # Both HTTP and HTTPS requests with URLs that match the handler succeed
    # without redirects. The application can examine the request to determine
    # which protocol was used and respond accordingly.
    SECURE_OPTIONAL = 2
  end
end

#max_instance_count::Integer

Returns The limit on the maximum number of function instances that may coexist at a given time.

In some cases, such as rapid traffic surges, Cloud Functions may, for a short period of time, create more instances than the specified max instances limit. If your function cannot tolerate this temporary behavior, you may want to factor in a safety margin and set a lower max instances value than your function can tolerate.

See the Max Instances Guide for more details.

Returns:

  • (::Integer)

    The limit on the maximum number of function instances that may coexist at a given time.

    In some cases, such as rapid traffic surges, Cloud Functions may, for a short period of time, create more instances than the specified max instances limit. If your function cannot tolerate this temporary behavior, you may want to factor in a safety margin and set a lower max instances value than your function can tolerate.

    See the Max Instances Guide for more details.



423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
# File 'proto_docs/google/cloud/functions/v2/functions.rb', line 423

class ServiceConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class EnvironmentVariablesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Available egress settings.
  #
  # This controls what traffic is diverted through the VPC Access Connector
  # resource. By default PRIVATE_RANGES_ONLY will be used.
  module VpcConnectorEgressSettings
    # Unspecified.
    VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED = 0

    # Use the VPC Access Connector only for private IP space from RFC1918.
    PRIVATE_RANGES_ONLY = 1

    # Force the use of VPC Access Connector for all egress traffic from the
    # function.
    ALL_TRAFFIC = 2
  end

  # Available ingress settings.
  #
  # This controls what traffic can reach the function.
  #
  # If unspecified, ALLOW_ALL will be used.
  module IngressSettings
    # Unspecified.
    INGRESS_SETTINGS_UNSPECIFIED = 0

    # Allow HTTP traffic from public and private sources.
    ALLOW_ALL = 1

    # Allow HTTP traffic from only private VPC sources.
    ALLOW_INTERNAL_ONLY = 2

    # Allow HTTP traffic from private VPC sources and through GCLB.
    ALLOW_INTERNAL_AND_GCLB = 3
  end

  # Available security level settings.
  #
  # This enforces security protocol on function URL.
  #
  # Security level is only configurable for 1st Gen functions, If unspecified,
  # SECURE_OPTIONAL will be used. 2nd Gen functions are SECURE_ALWAYS ONLY.
  module SecurityLevel
    # Unspecified.
    SECURITY_LEVEL_UNSPECIFIED = 0

    # Requests for a URL that match this handler that do not use HTTPS are
    # automatically redirected to the HTTPS URL with the same path. Query
    # parameters are reserved for the redirect.
    SECURE_ALWAYS = 1

    # Both HTTP and HTTPS requests with URLs that match the handler succeed
    # without redirects. The application can examine the request to determine
    # which protocol was used and respond accordingly.
    SECURE_OPTIONAL = 2
  end
end

#max_instance_request_concurrency::Integer

Returns [Preview] Sets the maximum number of concurrent requests that each instance can receive. Defaults to 1.

Returns:

  • (::Integer)

    [Preview] Sets the maximum number of concurrent requests that each instance can receive. Defaults to 1.



423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
# File 'proto_docs/google/cloud/functions/v2/functions.rb', line 423

class ServiceConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class EnvironmentVariablesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Available egress settings.
  #
  # This controls what traffic is diverted through the VPC Access Connector
  # resource. By default PRIVATE_RANGES_ONLY will be used.
  module VpcConnectorEgressSettings
    # Unspecified.
    VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED = 0

    # Use the VPC Access Connector only for private IP space from RFC1918.
    PRIVATE_RANGES_ONLY = 1

    # Force the use of VPC Access Connector for all egress traffic from the
    # function.
    ALL_TRAFFIC = 2
  end

  # Available ingress settings.
  #
  # This controls what traffic can reach the function.
  #
  # If unspecified, ALLOW_ALL will be used.
  module IngressSettings
    # Unspecified.
    INGRESS_SETTINGS_UNSPECIFIED = 0

    # Allow HTTP traffic from public and private sources.
    ALLOW_ALL = 1

    # Allow HTTP traffic from only private VPC sources.
    ALLOW_INTERNAL_ONLY = 2

    # Allow HTTP traffic from private VPC sources and through GCLB.
    ALLOW_INTERNAL_AND_GCLB = 3
  end

  # Available security level settings.
  #
  # This enforces security protocol on function URL.
  #
  # Security level is only configurable for 1st Gen functions, If unspecified,
  # SECURE_OPTIONAL will be used. 2nd Gen functions are SECURE_ALWAYS ONLY.
  module SecurityLevel
    # Unspecified.
    SECURITY_LEVEL_UNSPECIFIED = 0

    # Requests for a URL that match this handler that do not use HTTPS are
    # automatically redirected to the HTTPS URL with the same path. Query
    # parameters are reserved for the redirect.
    SECURE_ALWAYS = 1

    # Both HTTP and HTTPS requests with URLs that match the handler succeed
    # without redirects. The application can examine the request to determine
    # which protocol was used and respond accordingly.
    SECURE_OPTIONAL = 2
  end
end

#min_instance_count::Integer

Returns The limit on the minimum number of function instances that may coexist at a given time.

Function instances are kept in idle state for a short period after they finished executing the request to reduce cold start time for subsequent requests. Setting a minimum instance count will ensure that the given number of instances are kept running in idle state always. This can help with cold start times when jump in incoming request count occurs after the idle instance would have been stopped in the default case.

Returns:

  • (::Integer)

    The limit on the minimum number of function instances that may coexist at a given time.

    Function instances are kept in idle state for a short period after they finished executing the request to reduce cold start time for subsequent requests. Setting a minimum instance count will ensure that the given number of instances are kept running in idle state always. This can help with cold start times when jump in incoming request count occurs after the idle instance would have been stopped in the default case.



423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
# File 'proto_docs/google/cloud/functions/v2/functions.rb', line 423

class ServiceConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class EnvironmentVariablesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Available egress settings.
  #
  # This controls what traffic is diverted through the VPC Access Connector
  # resource. By default PRIVATE_RANGES_ONLY will be used.
  module VpcConnectorEgressSettings
    # Unspecified.
    VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED = 0

    # Use the VPC Access Connector only for private IP space from RFC1918.
    PRIVATE_RANGES_ONLY = 1

    # Force the use of VPC Access Connector for all egress traffic from the
    # function.
    ALL_TRAFFIC = 2
  end

  # Available ingress settings.
  #
  # This controls what traffic can reach the function.
  #
  # If unspecified, ALLOW_ALL will be used.
  module IngressSettings
    # Unspecified.
    INGRESS_SETTINGS_UNSPECIFIED = 0

    # Allow HTTP traffic from public and private sources.
    ALLOW_ALL = 1

    # Allow HTTP traffic from only private VPC sources.
    ALLOW_INTERNAL_ONLY = 2

    # Allow HTTP traffic from private VPC sources and through GCLB.
    ALLOW_INTERNAL_AND_GCLB = 3
  end

  # Available security level settings.
  #
  # This enforces security protocol on function URL.
  #
  # Security level is only configurable for 1st Gen functions, If unspecified,
  # SECURE_OPTIONAL will be used. 2nd Gen functions are SECURE_ALWAYS ONLY.
  module SecurityLevel
    # Unspecified.
    SECURITY_LEVEL_UNSPECIFIED = 0

    # Requests for a URL that match this handler that do not use HTTPS are
    # automatically redirected to the HTTPS URL with the same path. Query
    # parameters are reserved for the redirect.
    SECURE_ALWAYS = 1

    # Both HTTP and HTTPS requests with URLs that match the handler succeed
    # without redirects. The application can examine the request to determine
    # which protocol was used and respond accordingly.
    SECURE_OPTIONAL = 2
  end
end

#revision::String (readonly)

Returns Output only. The name of service revision.

Returns:

  • (::String)

    Output only. The name of service revision.



423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
# File 'proto_docs/google/cloud/functions/v2/functions.rb', line 423

class ServiceConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class EnvironmentVariablesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Available egress settings.
  #
  # This controls what traffic is diverted through the VPC Access Connector
  # resource. By default PRIVATE_RANGES_ONLY will be used.
  module VpcConnectorEgressSettings
    # Unspecified.
    VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED = 0

    # Use the VPC Access Connector only for private IP space from RFC1918.
    PRIVATE_RANGES_ONLY = 1

    # Force the use of VPC Access Connector for all egress traffic from the
    # function.
    ALL_TRAFFIC = 2
  end

  # Available ingress settings.
  #
  # This controls what traffic can reach the function.
  #
  # If unspecified, ALLOW_ALL will be used.
  module IngressSettings
    # Unspecified.
    INGRESS_SETTINGS_UNSPECIFIED = 0

    # Allow HTTP traffic from public and private sources.
    ALLOW_ALL = 1

    # Allow HTTP traffic from only private VPC sources.
    ALLOW_INTERNAL_ONLY = 2

    # Allow HTTP traffic from private VPC sources and through GCLB.
    ALLOW_INTERNAL_AND_GCLB = 3
  end

  # Available security level settings.
  #
  # This enforces security protocol on function URL.
  #
  # Security level is only configurable for 1st Gen functions, If unspecified,
  # SECURE_OPTIONAL will be used. 2nd Gen functions are SECURE_ALWAYS ONLY.
  module SecurityLevel
    # Unspecified.
    SECURITY_LEVEL_UNSPECIFIED = 0

    # Requests for a URL that match this handler that do not use HTTPS are
    # automatically redirected to the HTTPS URL with the same path. Query
    # parameters are reserved for the redirect.
    SECURE_ALWAYS = 1

    # Both HTTP and HTTPS requests with URLs that match the handler succeed
    # without redirects. The application can examine the request to determine
    # which protocol was used and respond accordingly.
    SECURE_OPTIONAL = 2
  end
end

#secret_environment_variables::Array<::Google::Cloud::Functions::V2::SecretEnvVar>

Returns Secret environment variables configuration.

Returns:



423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
# File 'proto_docs/google/cloud/functions/v2/functions.rb', line 423

class ServiceConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class EnvironmentVariablesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Available egress settings.
  #
  # This controls what traffic is diverted through the VPC Access Connector
  # resource. By default PRIVATE_RANGES_ONLY will be used.
  module VpcConnectorEgressSettings
    # Unspecified.
    VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED = 0

    # Use the VPC Access Connector only for private IP space from RFC1918.
    PRIVATE_RANGES_ONLY = 1

    # Force the use of VPC Access Connector for all egress traffic from the
    # function.
    ALL_TRAFFIC = 2
  end

  # Available ingress settings.
  #
  # This controls what traffic can reach the function.
  #
  # If unspecified, ALLOW_ALL will be used.
  module IngressSettings
    # Unspecified.
    INGRESS_SETTINGS_UNSPECIFIED = 0

    # Allow HTTP traffic from public and private sources.
    ALLOW_ALL = 1

    # Allow HTTP traffic from only private VPC sources.
    ALLOW_INTERNAL_ONLY = 2

    # Allow HTTP traffic from private VPC sources and through GCLB.
    ALLOW_INTERNAL_AND_GCLB = 3
  end

  # Available security level settings.
  #
  # This enforces security protocol on function URL.
  #
  # Security level is only configurable for 1st Gen functions, If unspecified,
  # SECURE_OPTIONAL will be used. 2nd Gen functions are SECURE_ALWAYS ONLY.
  module SecurityLevel
    # Unspecified.
    SECURITY_LEVEL_UNSPECIFIED = 0

    # Requests for a URL that match this handler that do not use HTTPS are
    # automatically redirected to the HTTPS URL with the same path. Query
    # parameters are reserved for the redirect.
    SECURE_ALWAYS = 1

    # Both HTTP and HTTPS requests with URLs that match the handler succeed
    # without redirects. The application can examine the request to determine
    # which protocol was used and respond accordingly.
    SECURE_OPTIONAL = 2
  end
end

#secret_volumes::Array<::Google::Cloud::Functions::V2::SecretVolume>

Returns Secret volumes configuration.

Returns:



423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
# File 'proto_docs/google/cloud/functions/v2/functions.rb', line 423

class ServiceConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class EnvironmentVariablesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Available egress settings.
  #
  # This controls what traffic is diverted through the VPC Access Connector
  # resource. By default PRIVATE_RANGES_ONLY will be used.
  module VpcConnectorEgressSettings
    # Unspecified.
    VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED = 0

    # Use the VPC Access Connector only for private IP space from RFC1918.
    PRIVATE_RANGES_ONLY = 1

    # Force the use of VPC Access Connector for all egress traffic from the
    # function.
    ALL_TRAFFIC = 2
  end

  # Available ingress settings.
  #
  # This controls what traffic can reach the function.
  #
  # If unspecified, ALLOW_ALL will be used.
  module IngressSettings
    # Unspecified.
    INGRESS_SETTINGS_UNSPECIFIED = 0

    # Allow HTTP traffic from public and private sources.
    ALLOW_ALL = 1

    # Allow HTTP traffic from only private VPC sources.
    ALLOW_INTERNAL_ONLY = 2

    # Allow HTTP traffic from private VPC sources and through GCLB.
    ALLOW_INTERNAL_AND_GCLB = 3
  end

  # Available security level settings.
  #
  # This enforces security protocol on function URL.
  #
  # Security level is only configurable for 1st Gen functions, If unspecified,
  # SECURE_OPTIONAL will be used. 2nd Gen functions are SECURE_ALWAYS ONLY.
  module SecurityLevel
    # Unspecified.
    SECURITY_LEVEL_UNSPECIFIED = 0

    # Requests for a URL that match this handler that do not use HTTPS are
    # automatically redirected to the HTTPS URL with the same path. Query
    # parameters are reserved for the redirect.
    SECURE_ALWAYS = 1

    # Both HTTP and HTTPS requests with URLs that match the handler succeed
    # without redirects. The application can examine the request to determine
    # which protocol was used and respond accordingly.
    SECURE_OPTIONAL = 2
  end
end

#security_level::Google::Cloud::Functions::V2::ServiceConfig::SecurityLevel

Returns Security level configure whether the function only accepts https. This configuration is only applicable to 1st Gen functions with Http trigger. By default https is optional for 1st Gen functions; 2nd Gen functions are https ONLY.

Returns:



423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
# File 'proto_docs/google/cloud/functions/v2/functions.rb', line 423

class ServiceConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class EnvironmentVariablesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Available egress settings.
  #
  # This controls what traffic is diverted through the VPC Access Connector
  # resource. By default PRIVATE_RANGES_ONLY will be used.
  module VpcConnectorEgressSettings
    # Unspecified.
    VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED = 0

    # Use the VPC Access Connector only for private IP space from RFC1918.
    PRIVATE_RANGES_ONLY = 1

    # Force the use of VPC Access Connector for all egress traffic from the
    # function.
    ALL_TRAFFIC = 2
  end

  # Available ingress settings.
  #
  # This controls what traffic can reach the function.
  #
  # If unspecified, ALLOW_ALL will be used.
  module IngressSettings
    # Unspecified.
    INGRESS_SETTINGS_UNSPECIFIED = 0

    # Allow HTTP traffic from public and private sources.
    ALLOW_ALL = 1

    # Allow HTTP traffic from only private VPC sources.
    ALLOW_INTERNAL_ONLY = 2

    # Allow HTTP traffic from private VPC sources and through GCLB.
    ALLOW_INTERNAL_AND_GCLB = 3
  end

  # Available security level settings.
  #
  # This enforces security protocol on function URL.
  #
  # Security level is only configurable for 1st Gen functions, If unspecified,
  # SECURE_OPTIONAL will be used. 2nd Gen functions are SECURE_ALWAYS ONLY.
  module SecurityLevel
    # Unspecified.
    SECURITY_LEVEL_UNSPECIFIED = 0

    # Requests for a URL that match this handler that do not use HTTPS are
    # automatically redirected to the HTTPS URL with the same path. Query
    # parameters are reserved for the redirect.
    SECURE_ALWAYS = 1

    # Both HTTP and HTTPS requests with URLs that match the handler succeed
    # without redirects. The application can examine the request to determine
    # which protocol was used and respond accordingly.
    SECURE_OPTIONAL = 2
  end
end

#service::String (readonly)

Returns Output only. Name of the service associated with a Function. The format of this field is projects/{project}/locations/{region}/services/{service}.

Returns:

  • (::String)

    Output only. Name of the service associated with a Function. The format of this field is projects/{project}/locations/{region}/services/{service}



423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
# File 'proto_docs/google/cloud/functions/v2/functions.rb', line 423

class ServiceConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class EnvironmentVariablesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Available egress settings.
  #
  # This controls what traffic is diverted through the VPC Access Connector
  # resource. By default PRIVATE_RANGES_ONLY will be used.
  module VpcConnectorEgressSettings
    # Unspecified.
    VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED = 0

    # Use the VPC Access Connector only for private IP space from RFC1918.
    PRIVATE_RANGES_ONLY = 1

    # Force the use of VPC Access Connector for all egress traffic from the
    # function.
    ALL_TRAFFIC = 2
  end

  # Available ingress settings.
  #
  # This controls what traffic can reach the function.
  #
  # If unspecified, ALLOW_ALL will be used.
  module IngressSettings
    # Unspecified.
    INGRESS_SETTINGS_UNSPECIFIED = 0

    # Allow HTTP traffic from public and private sources.
    ALLOW_ALL = 1

    # Allow HTTP traffic from only private VPC sources.
    ALLOW_INTERNAL_ONLY = 2

    # Allow HTTP traffic from private VPC sources and through GCLB.
    ALLOW_INTERNAL_AND_GCLB = 3
  end

  # Available security level settings.
  #
  # This enforces security protocol on function URL.
  #
  # Security level is only configurable for 1st Gen functions, If unspecified,
  # SECURE_OPTIONAL will be used. 2nd Gen functions are SECURE_ALWAYS ONLY.
  module SecurityLevel
    # Unspecified.
    SECURITY_LEVEL_UNSPECIFIED = 0

    # Requests for a URL that match this handler that do not use HTTPS are
    # automatically redirected to the HTTPS URL with the same path. Query
    # parameters are reserved for the redirect.
    SECURE_ALWAYS = 1

    # Both HTTP and HTTPS requests with URLs that match the handler succeed
    # without redirects. The application can examine the request to determine
    # which protocol was used and respond accordingly.
    SECURE_OPTIONAL = 2
  end
end

#service_account_email::String

Returns The email of the service's service account. If empty, defaults to {project_number}[email protected].

Returns:

  • (::String)

    The email of the service's service account. If empty, defaults to {project_number}[email protected].



423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
# File 'proto_docs/google/cloud/functions/v2/functions.rb', line 423

class ServiceConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class EnvironmentVariablesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Available egress settings.
  #
  # This controls what traffic is diverted through the VPC Access Connector
  # resource. By default PRIVATE_RANGES_ONLY will be used.
  module VpcConnectorEgressSettings
    # Unspecified.
    VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED = 0

    # Use the VPC Access Connector only for private IP space from RFC1918.
    PRIVATE_RANGES_ONLY = 1

    # Force the use of VPC Access Connector for all egress traffic from the
    # function.
    ALL_TRAFFIC = 2
  end

  # Available ingress settings.
  #
  # This controls what traffic can reach the function.
  #
  # If unspecified, ALLOW_ALL will be used.
  module IngressSettings
    # Unspecified.
    INGRESS_SETTINGS_UNSPECIFIED = 0

    # Allow HTTP traffic from public and private sources.
    ALLOW_ALL = 1

    # Allow HTTP traffic from only private VPC sources.
    ALLOW_INTERNAL_ONLY = 2

    # Allow HTTP traffic from private VPC sources and through GCLB.
    ALLOW_INTERNAL_AND_GCLB = 3
  end

  # Available security level settings.
  #
  # This enforces security protocol on function URL.
  #
  # Security level is only configurable for 1st Gen functions, If unspecified,
  # SECURE_OPTIONAL will be used. 2nd Gen functions are SECURE_ALWAYS ONLY.
  module SecurityLevel
    # Unspecified.
    SECURITY_LEVEL_UNSPECIFIED = 0

    # Requests for a URL that match this handler that do not use HTTPS are
    # automatically redirected to the HTTPS URL with the same path. Query
    # parameters are reserved for the redirect.
    SECURE_ALWAYS = 1

    # Both HTTP and HTTPS requests with URLs that match the handler succeed
    # without redirects. The application can examine the request to determine
    # which protocol was used and respond accordingly.
    SECURE_OPTIONAL = 2
  end
end

#timeout_seconds::Integer

Returns The function execution timeout. Execution is considered failed and can be terminated if the function is not completed at the end of the timeout period. Defaults to 60 seconds.

Returns:

  • (::Integer)

    The function execution timeout. Execution is considered failed and can be terminated if the function is not completed at the end of the timeout period. Defaults to 60 seconds.



423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
# File 'proto_docs/google/cloud/functions/v2/functions.rb', line 423

class ServiceConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class EnvironmentVariablesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Available egress settings.
  #
  # This controls what traffic is diverted through the VPC Access Connector
  # resource. By default PRIVATE_RANGES_ONLY will be used.
  module VpcConnectorEgressSettings
    # Unspecified.
    VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED = 0

    # Use the VPC Access Connector only for private IP space from RFC1918.
    PRIVATE_RANGES_ONLY = 1

    # Force the use of VPC Access Connector for all egress traffic from the
    # function.
    ALL_TRAFFIC = 2
  end

  # Available ingress settings.
  #
  # This controls what traffic can reach the function.
  #
  # If unspecified, ALLOW_ALL will be used.
  module IngressSettings
    # Unspecified.
    INGRESS_SETTINGS_UNSPECIFIED = 0

    # Allow HTTP traffic from public and private sources.
    ALLOW_ALL = 1

    # Allow HTTP traffic from only private VPC sources.
    ALLOW_INTERNAL_ONLY = 2

    # Allow HTTP traffic from private VPC sources and through GCLB.
    ALLOW_INTERNAL_AND_GCLB = 3
  end

  # Available security level settings.
  #
  # This enforces security protocol on function URL.
  #
  # Security level is only configurable for 1st Gen functions, If unspecified,
  # SECURE_OPTIONAL will be used. 2nd Gen functions are SECURE_ALWAYS ONLY.
  module SecurityLevel
    # Unspecified.
    SECURITY_LEVEL_UNSPECIFIED = 0

    # Requests for a URL that match this handler that do not use HTTPS are
    # automatically redirected to the HTTPS URL with the same path. Query
    # parameters are reserved for the redirect.
    SECURE_ALWAYS = 1

    # Both HTTP and HTTPS requests with URLs that match the handler succeed
    # without redirects. The application can examine the request to determine
    # which protocol was used and respond accordingly.
    SECURE_OPTIONAL = 2
  end
end

#uri::String (readonly)

Returns Output only. URI of the Service deployed.

Returns:

  • (::String)

    Output only. URI of the Service deployed.



423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
# File 'proto_docs/google/cloud/functions/v2/functions.rb', line 423

class ServiceConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class EnvironmentVariablesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Available egress settings.
  #
  # This controls what traffic is diverted through the VPC Access Connector
  # resource. By default PRIVATE_RANGES_ONLY will be used.
  module VpcConnectorEgressSettings
    # Unspecified.
    VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED = 0

    # Use the VPC Access Connector only for private IP space from RFC1918.
    PRIVATE_RANGES_ONLY = 1

    # Force the use of VPC Access Connector for all egress traffic from the
    # function.
    ALL_TRAFFIC = 2
  end

  # Available ingress settings.
  #
  # This controls what traffic can reach the function.
  #
  # If unspecified, ALLOW_ALL will be used.
  module IngressSettings
    # Unspecified.
    INGRESS_SETTINGS_UNSPECIFIED = 0

    # Allow HTTP traffic from public and private sources.
    ALLOW_ALL = 1

    # Allow HTTP traffic from only private VPC sources.
    ALLOW_INTERNAL_ONLY = 2

    # Allow HTTP traffic from private VPC sources and through GCLB.
    ALLOW_INTERNAL_AND_GCLB = 3
  end

  # Available security level settings.
  #
  # This enforces security protocol on function URL.
  #
  # Security level is only configurable for 1st Gen functions, If unspecified,
  # SECURE_OPTIONAL will be used. 2nd Gen functions are SECURE_ALWAYS ONLY.
  module SecurityLevel
    # Unspecified.
    SECURITY_LEVEL_UNSPECIFIED = 0

    # Requests for a URL that match this handler that do not use HTTPS are
    # automatically redirected to the HTTPS URL with the same path. Query
    # parameters are reserved for the redirect.
    SECURE_ALWAYS = 1

    # Both HTTP and HTTPS requests with URLs that match the handler succeed
    # without redirects. The application can examine the request to determine
    # which protocol was used and respond accordingly.
    SECURE_OPTIONAL = 2
  end
end

#vpc_connector::String

Returns The Serverless VPC Access connector that this cloud function can connect to. The format of this field is projects/*/locations/*/connectors/*.

Returns:

  • (::String)

    The Serverless VPC Access connector that this cloud function can connect to. The format of this field is projects/*/locations/*/connectors/*.



423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
# File 'proto_docs/google/cloud/functions/v2/functions.rb', line 423

class ServiceConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class EnvironmentVariablesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Available egress settings.
  #
  # This controls what traffic is diverted through the VPC Access Connector
  # resource. By default PRIVATE_RANGES_ONLY will be used.
  module VpcConnectorEgressSettings
    # Unspecified.
    VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED = 0

    # Use the VPC Access Connector only for private IP space from RFC1918.
    PRIVATE_RANGES_ONLY = 1

    # Force the use of VPC Access Connector for all egress traffic from the
    # function.
    ALL_TRAFFIC = 2
  end

  # Available ingress settings.
  #
  # This controls what traffic can reach the function.
  #
  # If unspecified, ALLOW_ALL will be used.
  module IngressSettings
    # Unspecified.
    INGRESS_SETTINGS_UNSPECIFIED = 0

    # Allow HTTP traffic from public and private sources.
    ALLOW_ALL = 1

    # Allow HTTP traffic from only private VPC sources.
    ALLOW_INTERNAL_ONLY = 2

    # Allow HTTP traffic from private VPC sources and through GCLB.
    ALLOW_INTERNAL_AND_GCLB = 3
  end

  # Available security level settings.
  #
  # This enforces security protocol on function URL.
  #
  # Security level is only configurable for 1st Gen functions, If unspecified,
  # SECURE_OPTIONAL will be used. 2nd Gen functions are SECURE_ALWAYS ONLY.
  module SecurityLevel
    # Unspecified.
    SECURITY_LEVEL_UNSPECIFIED = 0

    # Requests for a URL that match this handler that do not use HTTPS are
    # automatically redirected to the HTTPS URL with the same path. Query
    # parameters are reserved for the redirect.
    SECURE_ALWAYS = 1

    # Both HTTP and HTTPS requests with URLs that match the handler succeed
    # without redirects. The application can examine the request to determine
    # which protocol was used and respond accordingly.
    SECURE_OPTIONAL = 2
  end
end

#vpc_connector_egress_settings::Google::Cloud::Functions::V2::ServiceConfig::VpcConnectorEgressSettings

Returns The egress settings for the connector, controlling what traffic is diverted through it.

Returns:



423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
# File 'proto_docs/google/cloud/functions/v2/functions.rb', line 423

class ServiceConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class EnvironmentVariablesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Available egress settings.
  #
  # This controls what traffic is diverted through the VPC Access Connector
  # resource. By default PRIVATE_RANGES_ONLY will be used.
  module VpcConnectorEgressSettings
    # Unspecified.
    VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED = 0

    # Use the VPC Access Connector only for private IP space from RFC1918.
    PRIVATE_RANGES_ONLY = 1

    # Force the use of VPC Access Connector for all egress traffic from the
    # function.
    ALL_TRAFFIC = 2
  end

  # Available ingress settings.
  #
  # This controls what traffic can reach the function.
  #
  # If unspecified, ALLOW_ALL will be used.
  module IngressSettings
    # Unspecified.
    INGRESS_SETTINGS_UNSPECIFIED = 0

    # Allow HTTP traffic from public and private sources.
    ALLOW_ALL = 1

    # Allow HTTP traffic from only private VPC sources.
    ALLOW_INTERNAL_ONLY = 2

    # Allow HTTP traffic from private VPC sources and through GCLB.
    ALLOW_INTERNAL_AND_GCLB = 3
  end

  # Available security level settings.
  #
  # This enforces security protocol on function URL.
  #
  # Security level is only configurable for 1st Gen functions, If unspecified,
  # SECURE_OPTIONAL will be used. 2nd Gen functions are SECURE_ALWAYS ONLY.
  module SecurityLevel
    # Unspecified.
    SECURITY_LEVEL_UNSPECIFIED = 0

    # Requests for a URL that match this handler that do not use HTTPS are
    # automatically redirected to the HTTPS URL with the same path. Query
    # parameters are reserved for the redirect.
    SECURE_ALWAYS = 1

    # Both HTTP and HTTPS requests with URLs that match the handler succeed
    # without redirects. The application can examine the request to determine
    # which protocol was used and respond accordingly.
    SECURE_OPTIONAL = 2
  end
end