class Google::Apis::ApigatewayV1beta::ApigatewayApiConfig

An API Configuration is a combination of settings for both the Managed Service and Gateways serving this API Config.

Attributes

create_time[RW]

Output only. Created time. Corresponds to the JSON property `createTime` @return [String]

display_name[RW]

Optional. Display name. Corresponds to the JSON property `displayName` @return [String]

gateway_config[RW]

Configuration settings for Gateways. Corresponds to the JSON property `gatewayConfig` @return [Google::Apis::ApigatewayV1beta::ApigatewayGatewayConfig]

gateway_service_account[RW]

Immutable. The Google Cloud IAM Service Account that Gateways serving this config should use to authenticate to other services. This may either be the Service Account's email (“ACCOUNT_ID`@`PROJECT`.iam.gserviceaccount.com`) or its full resource name (`projects/`PROJECT`/accounts/`UNIQUE_ID“). This is most often used when the service is a GCP resource such as a Cloud Run Service or an IAP-secured service. Corresponds to the JSON property `gatewayServiceAccount` @return [String]

grpc_services[RW]

Optional. gRPC service definition files. If specified, openapi_documents must not be included. Corresponds to the JSON property `grpcServices` @return [Array<Google::Apis::ApigatewayV1beta::ApigatewayApiConfigGrpcServiceDefinition>]

labels[RW]

Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. cloud.google.com/compute/ docs/labeling-resources Corresponds to the JSON property `labels` @return [Hash<String,String>]

managed_service_configs[RW]

Optional. Service Configuration files. At least one must be included when using gRPC service definitions. See cloud.google.com/endpoints/docs/ grpc/grpc-service-config#service_configuration_overview for the expected file contents. If multiple files are specified, the files are merged with the following rules: * All singular scalar fields are merged using “last one wins” semantics in the order of the files uploaded. * Repeated fields are concatenated. * Singular embedded messages are merged using these rules for nested fields. Corresponds to the JSON property `managedServiceConfigs` @return [Array<Google::Apis::ApigatewayV1beta::ApigatewayApiConfigFile>]

name[RW]

Output only. Resource name of the API Config. Format: projects/`project`/ locations/global/apis/`api`/configs/`api_config` Corresponds to the JSON property `name` @return [String]

openapi_documents[RW]

Optional. OpenAPI specification documents. If specified, grpc_services and managed_service_configs must not be included. Corresponds to the JSON property `openapiDocuments` @return [Array<Google::Apis::ApigatewayV1beta::ApigatewayApiConfigOpenApiDocument>]

service_config_id[RW]

Output only. The ID of the associated Service Config ( cloud.google. com/service-infrastructure/docs/glossary#config). Corresponds to the JSON property `serviceConfigId` @return [String]

state[RW]

Output only. State of the API Config. Corresponds to the JSON property `state` @return [String]

update_time[RW]

Output only. Updated time. Corresponds to the JSON property `updateTime` @return [String]

Public Class Methods

new(**args) click to toggle source
# File lib/google/apis/apigateway_v1beta/classes.rb, line 168
def initialize(**args)
   update!(**args)
end

Public Instance Methods

update!(**args) click to toggle source

Update properties of this object

# File lib/google/apis/apigateway_v1beta/classes.rb, line 173
def update!(**args)
  @create_time = args[:create_time] if args.key?(:create_time)
  @display_name = args[:display_name] if args.key?(:display_name)
  @gateway_config = args[:gateway_config] if args.key?(:gateway_config)
  @gateway_service_account = args[:gateway_service_account] if args.key?(:gateway_service_account)
  @grpc_services = args[:grpc_services] if args.key?(:grpc_services)
  @labels = args[:labels] if args.key?(:labels)
  @managed_service_configs = args[:managed_service_configs] if args.key?(:managed_service_configs)
  @name = args[:name] if args.key?(:name)
  @openapi_documents = args[:openapi_documents] if args.key?(:openapi_documents)
  @service_config_id = args[:service_config_id] if args.key?(:service_config_id)
  @state = args[:state] if args.key?(:state)
  @update_time = args[:update_time] if args.key?(:update_time)
end