Class: Google::Apis::CloudfunctionsV2::BuildConfig

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
lib/google/apis/cloudfunctions_v2/classes.rb,
lib/google/apis/cloudfunctions_v2/representations.rb,
lib/google/apis/cloudfunctions_v2/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.



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

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

Instance Attribute Details

#automatic_update_policyGoogle::Apis::CloudfunctionsV2::AutomaticUpdatePolicy

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



217
218
219
# File 'lib/google/apis/cloudfunctions_v2/classes.rb', line 217

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)


223
224
225
# File 'lib/google/apis/cloudfunctions_v2/classes.rb', line 223

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 docker_repository field is specified, this field will be automatically set as ARTIFACT_REGISTRY. If unspecified, it currently defaults to CONTAINER_REGISTRY. This field may be overridden by the backend for eligible deployments. Corresponds to the JSON property dockerRegistry

Returns:

  • (String)


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

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`. Cross-project repositories are not supported. Cross-location repositories are not supported. Repository format must be ' DOCKER'. Corresponds to the JSON propertydockerRepository`

Returns:

  • (String)


245
246
247
# File 'lib/google/apis/cloudfunctions_v2/classes.rb', line 245

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)


254
255
256
# File 'lib/google/apis/cloudfunctions_v2/classes.rb', line 254

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>)


259
260
261
# File 'lib/google/apis/cloudfunctions_v2/classes.rb', line 259

def environment_variables
  @environment_variables
end

#on_deploy_update_policyGoogle::Apis::CloudfunctionsV2::OnDeployUpdatePolicy

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



264
265
266
# File 'lib/google/apis/cloudfunctions_v2/classes.rb', line 264

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)


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

def runtime
  @runtime
end

#service_accountString

[Preview] Service account to be used for building the container Corresponds to the JSON property serviceAccount

Returns:

  • (String)


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

def 
  @service_account
end

#sourceGoogle::Apis::CloudfunctionsV2::Source

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



282
283
284
# File 'lib/google/apis/cloudfunctions_v2/classes.rb', line 282

def source
  @source
end

#source_provenanceGoogle::Apis::CloudfunctionsV2::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



288
289
290
# File 'lib/google/apis/cloudfunctions_v2/classes.rb', line 288

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)


294
295
296
# File 'lib/google/apis/cloudfunctions_v2/classes.rb', line 294

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)


306
307
308
# File 'lib/google/apis/cloudfunctions_v2/classes.rb', line 306

def worker_pool
  @worker_pool
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
# File 'lib/google/apis/cloudfunctions_v2/classes.rb', line 313

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