Class: AWSCDK::CodeBuild::CfnProjectProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
code_build/cfn_project_props.rb

Overview

Properties for defining a CfnProject.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(artifacts:, environment:, service_role:, source:, auto_retry_limit: nil, badge_enabled: nil, build_batch_config: nil, cache: nil, concurrent_build_limit: nil, description: nil, encryption_key: nil, file_system_locations: nil, logs_config: nil, name: nil, queued_timeout_in_minutes: nil, resource_access_role: nil, secondary_artifacts: nil, secondary_sources: nil, secondary_source_versions: nil, source_version: nil, tags: nil, timeout_in_minutes: nil, triggers: nil, visibility: nil, vpc_config: nil) ⇒ CfnProjectProps

Returns a new instance of CfnProjectProps.

Parameters:



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# File 'code_build/cfn_project_props.rb', line 34

def initialize(artifacts:, environment:, service_role:, source:, auto_retry_limit: nil, badge_enabled: nil, build_batch_config: nil, cache: nil, concurrent_build_limit: nil, description: nil, encryption_key: nil, file_system_locations: nil, logs_config: nil, name: nil, queued_timeout_in_minutes: nil, resource_access_role: nil, secondary_artifacts: nil, secondary_sources: nil, secondary_source_versions: nil, source_version: nil, tags: nil, timeout_in_minutes: nil, triggers: nil, visibility: nil, vpc_config: nil)
  @artifacts = artifacts.is_a?(Hash) ? ::AWSCDK::CodeBuild::CfnProject::ArtifactsProperty.new(**artifacts.transform_keys(&:to_sym)) : artifacts
  Jsii::Type.check_type(@artifacts, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jb2RlYnVpbGQuQ2ZuUHJvamVjdC5BcnRpZmFjdHNQcm9wZXJ0eSJ9XX19")), "artifacts")
  @environment = environment.is_a?(Hash) ? ::AWSCDK::CodeBuild::CfnProject::EnvironmentProperty.new(**environment.transform_keys(&:to_sym)) : environment
  Jsii::Type.check_type(@environment, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jb2RlYnVpbGQuQ2ZuUHJvamVjdC5FbnZpcm9ubWVudFByb3BlcnR5In1dfX0=")), "environment")
  @service_role = service_role
  Jsii::Type.check_type(@service_role, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "serviceRole")
  @source = source.is_a?(Hash) ? ::AWSCDK::CodeBuild::CfnProject::SourceProperty.new(**source.transform_keys(&:to_sym)) : source
  Jsii::Type.check_type(@source, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jb2RlYnVpbGQuQ2ZuUHJvamVjdC5Tb3VyY2VQcm9wZXJ0eSJ9XX19")), "source")
  @auto_retry_limit = auto_retry_limit
  Jsii::Type.check_type(@auto_retry_limit, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "autoRetryLimit") unless @auto_retry_limit.nil?
  @badge_enabled = badge_enabled
  Jsii::Type.check_type(@badge_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "badgeEnabled") unless @badge_enabled.nil?
  @build_batch_config = build_batch_config.is_a?(Hash) ? ::AWSCDK::CodeBuild::CfnProject::ProjectBuildBatchConfigProperty.new(**build_batch_config.transform_keys(&:to_sym)) : build_batch_config
  Jsii::Type.check_type(@build_batch_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jb2RlYnVpbGQuQ2ZuUHJvamVjdC5Qcm9qZWN0QnVpbGRCYXRjaENvbmZpZ1Byb3BlcnR5In1dfX0=")), "buildBatchConfig") unless @build_batch_config.nil?
  @cache = cache.is_a?(Hash) ? ::AWSCDK::CodeBuild::CfnProject::ProjectCacheProperty.new(**cache.transform_keys(&:to_sym)) : cache
  Jsii::Type.check_type(@cache, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jb2RlYnVpbGQuQ2ZuUHJvamVjdC5Qcm9qZWN0Q2FjaGVQcm9wZXJ0eSJ9XX19")), "cache") unless @cache.nil?
  @concurrent_build_limit = concurrent_build_limit
  Jsii::Type.check_type(@concurrent_build_limit, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "concurrentBuildLimit") unless @concurrent_build_limit.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @encryption_key = encryption_key
  Jsii::Type.check_type(@encryption_key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "encryptionKey") unless @encryption_key.nil?
  @file_system_locations = file_system_locations
  Jsii::Type.check_type(@file_system_locations, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY29kZWJ1aWxkLkNmblByb2plY3QuUHJvamVjdEZpbGVTeXN0ZW1Mb2NhdGlvblByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "fileSystemLocations") unless @file_system_locations.nil?
  @logs_config = logs_config.is_a?(Hash) ? ::AWSCDK::CodeBuild::CfnProject::LogsConfigProperty.new(**logs_config.transform_keys(&:to_sym)) : logs_config
  Jsii::Type.check_type(@logs_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jb2RlYnVpbGQuQ2ZuUHJvamVjdC5Mb2dzQ29uZmlnUHJvcGVydHkifV19fQ==")), "logsConfig") unless @logs_config.nil?
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name") unless @name.nil?
  @queued_timeout_in_minutes = queued_timeout_in_minutes
  Jsii::Type.check_type(@queued_timeout_in_minutes, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "queuedTimeoutInMinutes") unless @queued_timeout_in_minutes.nil?
  @resource_access_role = resource_access_role
  Jsii::Type.check_type(@resource_access_role, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "resourceAccessRole") unless @resource_access_role.nil?
  @secondary_artifacts = secondary_artifacts
  Jsii::Type.check_type(@secondary_artifacts, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY29kZWJ1aWxkLkNmblByb2plY3QuQXJ0aWZhY3RzUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "secondaryArtifacts") unless @secondary_artifacts.nil?
  @secondary_sources = secondary_sources
  Jsii::Type.check_type(@secondary_sources, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY29kZWJ1aWxkLkNmblByb2plY3QuU291cmNlUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "secondarySources") unless @secondary_sources.nil?
  @secondary_source_versions = secondary_source_versions
  Jsii::Type.check_type(@secondary_source_versions, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY29kZWJ1aWxkLkNmblByb2plY3QuUHJvamVjdFNvdXJjZVZlcnNpb25Qcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "secondarySourceVersions") unless @secondary_source_versions.nil?
  @source_version = source_version
  Jsii::Type.check_type(@source_version, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "sourceVersion") unless @source_version.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
  @timeout_in_minutes = timeout_in_minutes
  Jsii::Type.check_type(@timeout_in_minutes, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "timeoutInMinutes") unless @timeout_in_minutes.nil?
  @triggers = triggers.is_a?(Hash) ? ::AWSCDK::CodeBuild::CfnProject::ProjectTriggersProperty.new(**triggers.transform_keys(&:to_sym)) : triggers
  Jsii::Type.check_type(@triggers, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jb2RlYnVpbGQuQ2ZuUHJvamVjdC5Qcm9qZWN0VHJpZ2dlcnNQcm9wZXJ0eSJ9XX19")), "triggers") unless @triggers.nil?
  @visibility = visibility
  Jsii::Type.check_type(@visibility, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "visibility") unless @visibility.nil?
  @vpc_config = vpc_config.is_a?(Hash) ? ::AWSCDK::CodeBuild::CfnProject::VPCConfigProperty.new(**vpc_config.transform_keys(&:to_sym)) : vpc_config
  Jsii::Type.check_type(@vpc_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jb2RlYnVpbGQuQ2ZuUHJvamVjdC5WcGNDb25maWdQcm9wZXJ0eSJ9XX19")), "vpcConfig") unless @vpc_config.nil?
end

Instance Attribute Details

#artifactsAWSCDK::IResolvable, AWSCDK::CodeBuild::CfnProject::ArtifactsProperty (readonly)

Artifacts is a property of the AWS::CodeBuild::Project resource that specifies output settings for artifacts generated by an AWS CodeBuild build.



91
92
93
# File 'code_build/cfn_project_props.rb', line 91

def artifacts
  @artifacts
end

#auto_retry_limitNumeric? (readonly)



109
110
111
# File 'code_build/cfn_project_props.rb', line 109

def auto_retry_limit
  @auto_retry_limit
end

#badge_enabledBoolean, ... (readonly)

Indicates whether AWS CodeBuild generates a publicly accessible URL for your project's build badge.

For more information, see Build Badges Sample in the AWS CodeBuild User Guide .

Including build badges with your project is currently not supported if the source type is CodePipeline. If you specify CODEPIPELINE for the Source property, do not specify the BadgeEnabled property.



118
119
120
# File 'code_build/cfn_project_props.rb', line 118

def badge_enabled
  @badge_enabled
end

#build_batch_configAWSCDK::IResolvable, ... (readonly)

A ProjectBuildBatchConfig object that defines the batch build options for the project.



123
124
125
# File 'code_build/cfn_project_props.rb', line 123

def build_batch_config
  @build_batch_config
end

#cacheAWSCDK::IResolvable, ... (readonly)

Settings that AWS CodeBuild uses to store and reuse build dependencies.



128
129
130
# File 'code_build/cfn_project_props.rb', line 128

def cache
  @cache
end

#concurrent_build_limitNumeric? (readonly)

The maximum number of concurrent builds that are allowed for this project.

New builds are only started if the current number of builds is less than or equal to this limit. If the current build count meets this limit, new builds are throttled and are not run.



135
136
137
# File 'code_build/cfn_project_props.rb', line 135

def concurrent_build_limit
  @concurrent_build_limit
end

#descriptionString? (readonly)

A description that makes the build project easy to identify.



140
141
142
# File 'code_build/cfn_project_props.rb', line 140

def description
  @description
end

#encryption_keyString? (readonly)

The AWS Key Management Service customer master key (CMK) to be used for encrypting the build output artifacts.

You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key.

You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format alias/<alias-name> ). If you don't specify a value, CodeBuild uses the managed CMK for Amazon Simple Storage Service (Amazon S3).



149
150
151
# File 'code_build/cfn_project_props.rb', line 149

def encryption_key
  @encryption_key
end

#environmentAWSCDK::IResolvable, AWSCDK::CodeBuild::CfnProject::EnvironmentProperty (readonly)

The build environment settings for the project, such as the environment type or the environment variables to use for the build environment.



96
97
98
# File 'code_build/cfn_project_props.rb', line 96

def environment
  @environment
end

#file_system_locationsAWSCDK::IResolvable, ... (readonly)

An array of ProjectFileSystemLocation objects for a CodeBuild build project.

A ProjectFileSystemLocation object specifies the identifier , location , mount_options , mount_point , and type of a file system created using Amazon Elastic File System.



156
157
158
# File 'code_build/cfn_project_props.rb', line 156

def file_system_locations
  @file_system_locations
end

#logs_configAWSCDK::IResolvable, ... (readonly)

Information about logs for the build project.

A project can create logs in CloudWatch Logs, an S3 bucket, or both.



163
164
165
# File 'code_build/cfn_project_props.rb', line 163

def logs_config
  @logs_config
end

#nameString? (readonly)

The name of the build project.

The name must be unique across all of the projects in your AWS account .



170
171
172
# File 'code_build/cfn_project_props.rb', line 170

def name
  @name
end

#queued_timeout_in_minutesNumeric? (readonly)

The number of minutes a build is allowed to be queued before it times out.



175
176
177
# File 'code_build/cfn_project_props.rb', line 175

def queued_timeout_in_minutes
  @queued_timeout_in_minutes
end

#resource_access_roleString? (readonly)

The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon S3 artifacts for the project's builds.



180
181
182
# File 'code_build/cfn_project_props.rb', line 180

def resource_access_role
  @resource_access_role
end

#secondary_artifactsAWSCDK::IResolvable, ... (readonly)

A list of Artifacts objects.

Each artifacts object specifies output settings that the project generates during a build.



187
188
189
# File 'code_build/cfn_project_props.rb', line 187

def secondary_artifacts
  @secondary_artifacts
end

#secondary_source_versionsAWSCDK::IResolvable, ... (readonly)

An array of ProjectSourceVersion objects.

If secondary_source_versions is specified at the build level, then they take over these secondary_source_versions (at the project level).



199
200
201
# File 'code_build/cfn_project_props.rb', line 199

def secondary_source_versions
  @secondary_source_versions
end

#secondary_sourcesAWSCDK::IResolvable, ... (readonly)

An array of ProjectSource objects.



192
193
194
# File 'code_build/cfn_project_props.rb', line 192

def secondary_sources
  @secondary_sources
end

#service_roleString (readonly)

The ARN of the IAM role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.



101
102
103
# File 'code_build/cfn_project_props.rb', line 101

def service_role
  @service_role
end

#sourceAWSCDK::IResolvable, AWSCDK::CodeBuild::CfnProject::SourceProperty (readonly)

The source code settings for the project, such as the source code's repository type and location.



106
107
108
# File 'code_build/cfn_project_props.rb', line 106

def source
  @source
end

#source_versionString? (readonly)

A version of the build input to be built for this project.

If not specified, the latest version is used. If specified, it must be one of:

  • For CodeCommit: the commit ID, branch, or Git tag to use.
  • For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format pr/pull-request-ID (for example pr/25 ). If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.
  • For GitLab: the commit ID, branch, or Git tag to use.
  • For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.
  • For Amazon S3: the version ID of the object that represents the build input ZIP file to use.

If source_version is specified at the build level, then that version takes precedence over this source_version (at the project level).

For more information, see Source Version Sample with CodeBuild in the AWS CodeBuild User Guide .



216
217
218
# File 'code_build/cfn_project_props.rb', line 216

def source_version
  @source_version
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

An arbitrary set of tags (key-value pairs) for the AWS CodeBuild project.

These tags are available for use by AWS services that support AWS CodeBuild build project tags.



223
224
225
# File 'code_build/cfn_project_props.rb', line 223

def tags
  @tags
end

#timeout_in_minutesNumeric? (readonly)

How long, in minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait before timing out any related build that did not get marked as completed.

The default is 60 minutes.



230
231
232
# File 'code_build/cfn_project_props.rb', line 230

def timeout_in_minutes
  @timeout_in_minutes
end

#triggersAWSCDK::IResolvable, ... (readonly)

For an existing AWS CodeBuild build project that has its source code stored in a GitHub repository, enables AWS CodeBuild to begin automatically rebuilding the source code every time a code change is pushed to the repository.



235
236
237
# File 'code_build/cfn_project_props.rb', line 235

def triggers
  @triggers
end

#visibilityString? (readonly)

Specifies the visibility of the project's builds. Possible values are:.

  • PUBLIC_READ - The project builds are visible to the public.
  • PRIVATE - The project builds are not visible to the public.


243
244
245
# File 'code_build/cfn_project_props.rb', line 243

def visibility
  @visibility
end

#vpc_configAWSCDK::IResolvable, ... (readonly)

VpcConfig specifies settings that enable AWS CodeBuild to access resources in an Amazon VPC.

For more information, see Use AWS CodeBuild with Amazon Virtual Private Cloud in the AWS CodeBuild User Guide .



250
251
252
# File 'code_build/cfn_project_props.rb', line 250

def vpc_config
  @vpc_config
end

Class Method Details

.jsii_propertiesObject



252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
# File 'code_build/cfn_project_props.rb', line 252

def self.jsii_properties
  {
    :artifacts => "artifacts",
    :environment => "environment",
    :service_role => "serviceRole",
    :source => "source",
    :auto_retry_limit => "autoRetryLimit",
    :badge_enabled => "badgeEnabled",
    :build_batch_config => "buildBatchConfig",
    :cache => "cache",
    :concurrent_build_limit => "concurrentBuildLimit",
    :description => "description",
    :encryption_key => "encryptionKey",
    :file_system_locations => "fileSystemLocations",
    :logs_config => "logsConfig",
    :name => "name",
    :queued_timeout_in_minutes => "queuedTimeoutInMinutes",
    :resource_access_role => "resourceAccessRole",
    :secondary_artifacts => "secondaryArtifacts",
    :secondary_sources => "secondarySources",
    :secondary_source_versions => "secondarySourceVersions",
    :source_version => "sourceVersion",
    :tags => "tags",
    :timeout_in_minutes => "timeoutInMinutes",
    :triggers => "triggers",
    :visibility => "visibility",
    :vpc_config => "vpcConfig",
  }
end

Instance Method Details

#to_jsiiObject



282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
# File 'code_build/cfn_project_props.rb', line 282

def to_jsii
  result = {}
  result.merge!({
    "artifacts" => @artifacts,
    "environment" => @environment,
    "serviceRole" => @service_role,
    "source" => @source,
    "autoRetryLimit" => @auto_retry_limit,
    "badgeEnabled" => @badge_enabled,
    "buildBatchConfig" => @build_batch_config,
    "cache" => @cache,
    "concurrentBuildLimit" => @concurrent_build_limit,
    "description" => @description,
    "encryptionKey" => @encryption_key,
    "fileSystemLocations" => @file_system_locations,
    "logsConfig" => @logs_config,
    "name" => @name,
    "queuedTimeoutInMinutes" => @queued_timeout_in_minutes,
    "resourceAccessRole" => @resource_access_role,
    "secondaryArtifacts" => @secondary_artifacts,
    "secondarySources" => @secondary_sources,
    "secondarySourceVersions" => @secondary_source_versions,
    "sourceVersion" => @source_version,
    "tags" => @tags,
    "timeoutInMinutes" => @timeout_in_minutes,
    "triggers" => @triggers,
    "visibility" => @visibility,
    "vpcConfig" => @vpc_config,
  })
  result.compact
end