Class: Google::Apis::ApigatewayV1::ApigatewayApiConfig

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/apigateway_v1/classes.rb,
lib/google/apis/apigateway_v1/representations.rb,
lib/google/apis/apigateway_v1/representations.rb

Overview

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ ApigatewayApiConfig

Returns a new instance of ApigatewayApiConfig.



163
164
165
# File 'lib/google/apis/apigateway_v1/classes.rb', line 163

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#create_timeString

Output only. Created time. Corresponds to the JSON property createTime

Returns:

  • (String)


93
94
95
# File 'lib/google/apis/apigateway_v1/classes.rb', line 93

def create_time
  @create_time
end

#display_nameString

Optional. Display name. Corresponds to the JSON property displayName

Returns:

  • (String)


98
99
100
# File 'lib/google/apis/apigateway_v1/classes.rb', line 98

def display_name
  @display_name
end

#gateway_service_accountString

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

Returns:

  • (String)


108
109
110
# File 'lib/google/apis/apigateway_v1/classes.rb', line 108

def 
  @gateway_service_account
end

#grpc_servicesArray<Google::Apis::ApigatewayV1::ApigatewayApiConfigGrpcServiceDefinition>

Optional. gRPC service definition files. If specified, openapi_documents must not be included. Corresponds to the JSON property grpcServices



114
115
116
# File 'lib/google/apis/apigateway_v1/classes.rb', line 114

def grpc_services
  @grpc_services
end

#labelsHash<String,String>

Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/ docs/labeling-resources Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


121
122
123
# File 'lib/google/apis/apigateway_v1/classes.rb', line 121

def labels
  @labels
end

#managed_service_configsArray<Google::Apis::ApigatewayV1::ApigatewayApiConfigFile>

Optional. Service Configuration files. At least one must be included when using gRPC service definitions. See https://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



133
134
135
# File 'lib/google/apis/apigateway_v1/classes.rb', line 133

def managed_service_configs
  @managed_service_configs
end

#nameString

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

Returns:

  • (String)


139
140
141
# File 'lib/google/apis/apigateway_v1/classes.rb', line 139

def name
  @name
end

#openapi_documentsArray<Google::Apis::ApigatewayV1::ApigatewayApiConfigOpenApiDocument>

Optional. OpenAPI specification documents. If specified, grpc_services and managed_service_configs must not be included. Corresponds to the JSON property openapiDocuments



145
146
147
# File 'lib/google/apis/apigateway_v1/classes.rb', line 145

def openapi_documents
  @openapi_documents
end

#service_config_idString

Output only. The ID of the associated Service Config ( https://cloud.google. com/service-infrastructure/docs/glossary#config). Corresponds to the JSON property serviceConfigId

Returns:

  • (String)


151
152
153
# File 'lib/google/apis/apigateway_v1/classes.rb', line 151

def service_config_id
  @service_config_id
end

#stateString

Output only. State of the API Config. Corresponds to the JSON property state

Returns:

  • (String)


156
157
158
# File 'lib/google/apis/apigateway_v1/classes.rb', line 156

def state
  @state
end

#update_timeString

Output only. Updated time. Corresponds to the JSON property updateTime

Returns:

  • (String)


161
162
163
# File 'lib/google/apis/apigateway_v1/classes.rb', line 161

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



168
169
170
171
172
173
174
175
176
177
178
179
180
# File 'lib/google/apis/apigateway_v1/classes.rb', line 168

def update!(**args)
  @create_time = args[:create_time] if args.key?(:create_time)
  @display_name = args[:display_name] if args.key?(:display_name)
  @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