Class: Google::Apis::CloudfunctionsV2beta::BuildConfig

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

Overview

Describes the Build step of the function that builds a container from the given source.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ BuildConfig

Returns a new instance of BuildConfig.



322
323
324
# File 'lib/google/apis/cloudfunctions_v2beta/classes.rb', line 322

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

Instance Attribute Details

#automatic_update_policyGoogle::Apis::CloudfunctionsV2beta::AutomaticUpdatePolicy

Security patches are applied automatically to the runtime without requiring the function to be redeployed. Corresponds to the JSON property automaticUpdatePolicy



233
234
235
# File 'lib/google/apis/cloudfunctions_v2beta/classes.rb', line 233

def automatic_update_policy
  @automatic_update_policy
end

#buildString

Output only. The Cloud Build name of the latest successful deployment of the function. Corresponds to the JSON property build

Returns:

  • (String)


239
240
241
# File 'lib/google/apis/cloudfunctions_v2beta/classes.rb', line 239

def build
  @build
end

#docker_registryString

Docker Registry to use for this deployment. This configuration is only applicable to 1st Gen functions, 2nd Gen functions can only use Artifact Registry. If unspecified, it defaults to ARTIFACT_REGISTRY. If docker_repository field is specified, this field should either be left unspecified or set to ARTIFACT_REGISTRY. Corresponds to the JSON property dockerRegistry

Returns:

  • (String)


248
249
250
# File 'lib/google/apis/cloudfunctions_v2beta/classes.rb', line 248

def docker_registry
  @docker_registry
end

#docker_repositoryString

Repository in Artifact Registry to which the function docker image will be pushed after it is built by Cloud Build. If specified by user, it is created and managed by user with a customer managed encryption key. Otherwise, GCF will create and use a repository named 'gcf-artifacts' for every deployed region. It must match the pattern projects/project/locations/location/ repositories/repository`. Repository format must be 'DOCKER'. Corresponds to the JSON propertydockerRepository`

Returns:

  • (String)


258
259
260
# File 'lib/google/apis/cloudfunctions_v2beta/classes.rb', line 258

def docker_repository
  @docker_repository
end

#entry_pointString

The name of the function (as defined in source code) that will be executed. Defaults to the resource name suffix, if not specified. For backward compatibility, if function with given name is not found, then the system will try to use function named "function". For Node.js this is name of a function exported by the module specified in source_location. Corresponds to the JSON property entryPoint

Returns:

  • (String)


267
268
269
# File 'lib/google/apis/cloudfunctions_v2beta/classes.rb', line 267

def entry_point
  @entry_point
end

#environment_variablesHash<String,String>

User-provided build-time environment variables for the function Corresponds to the JSON property environmentVariables

Returns:

  • (Hash<String,String>)


272
273
274
# File 'lib/google/apis/cloudfunctions_v2beta/classes.rb', line 272

def environment_variables
  @environment_variables
end

#on_deploy_update_policyGoogle::Apis::CloudfunctionsV2beta::OnDeployUpdatePolicy

Security patches are only applied when a function is redeployed. Corresponds to the JSON property onDeployUpdatePolicy



277
278
279
# File 'lib/google/apis/cloudfunctions_v2beta/classes.rb', line 277

def on_deploy_update_policy
  @on_deploy_update_policy
end

#runtimeString

The runtime in which to run the function. Required when deploying a new function, optional when updating an existing function. For a complete list of possible choices, see the gcloud command reference. Corresponds to the JSON property runtime

Returns:

  • (String)


285
286
287
# File 'lib/google/apis/cloudfunctions_v2beta/classes.rb', line 285

def runtime
  @runtime
end

#service_accountString

Service account to be used for building the container. The format of this field is projects/projectId/serviceAccounts/serviceAccountEmail`. Corresponds to the JSON propertyserviceAccount`

Returns:

  • (String)


291
292
293
# File 'lib/google/apis/cloudfunctions_v2beta/classes.rb', line 291

def 
  @service_account
end

#sourceGoogle::Apis::CloudfunctionsV2beta::Source

The location of the function source code. Corresponds to the JSON property source



296
297
298
# File 'lib/google/apis/cloudfunctions_v2beta/classes.rb', line 296

def source
  @source
end

#source_provenanceGoogle::Apis::CloudfunctionsV2beta::SourceProvenance

Provenance of the source. Ways to find the original source, or verify that some source was used for this build. Corresponds to the JSON property sourceProvenance



302
303
304
# File 'lib/google/apis/cloudfunctions_v2beta/classes.rb', line 302

def source_provenance
  @source_provenance
end

#source_tokenString

An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments. Corresponds to the JSON property sourceToken

Returns:

  • (String)


308
309
310
# File 'lib/google/apis/cloudfunctions_v2beta/classes.rb', line 308

def source_token
  @source_token
end

#worker_poolString

Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is projects/project/locations/region/ workerPools/workerPool`whereprojectandregionare the project id and region respectively where the worker pool is defined andworkerPoolis the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam. gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project. Corresponds to the JSON propertyworkerPool`

Returns:

  • (String)


320
321
322
# File 'lib/google/apis/cloudfunctions_v2beta/classes.rb', line 320

def worker_pool
  @worker_pool
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
# File 'lib/google/apis/cloudfunctions_v2beta/classes.rb', line 327

def update!(**args)
  @automatic_update_policy = args[:automatic_update_policy] if args.key?(:automatic_update_policy)
  @build = args[:build] if args.key?(:build)
  @docker_registry = args[:docker_registry] if args.key?(:docker_registry)
  @docker_repository = args[:docker_repository] if args.key?(:docker_repository)
  @entry_point = args[:entry_point] if args.key?(:entry_point)
  @environment_variables = args[:environment_variables] if args.key?(:environment_variables)
  @on_deploy_update_policy = args[:on_deploy_update_policy] if args.key?(:on_deploy_update_policy)
  @runtime = args[:runtime] if args.key?(:runtime)
  @service_account = args[:service_account] if args.key?(:service_account)
  @source = args[:source] if args.key?(:source)
  @source_provenance = args[:source_provenance] if args.key?(:source_provenance)
  @source_token = args[:source_token] if args.key?(:source_token)
  @worker_pool = args[:worker_pool] if args.key?(:worker_pool)
end