Class: AWSCDK::Pipelines::DockerCredential

Inherits:
Jsii::Object
  • Object
show all
Defined in:
pipelines/docker_credential.rb

Overview

Represents credentials used to access a Docker registry.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(usages = nil) ⇒ DockerCredential

Returns a new instance of DockerCredential.

Parameters:



9
10
11
12
# File 'pipelines/docker_credential.rb', line 9

def initialize(usages = nil)
  Jsii::Type.check_type(usages, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLnBpcGVsaW5lcy5Eb2NrZXJDcmVkZW50aWFsVXNhZ2UifSwia2luZCI6ImFycmF5In19")), "usages") unless usages.nil?
  Jsii::Object.instance_method(:initialize).bind(self).call(usages)
end

Class Method Details

.custom_registry(registry_domain, secret, opts = nil) ⇒ AWSCDK::Pipelines::DockerCredential

Creates a DockerCredential for a registry, based on its domain name (e.g., 'www.example.com').

Parameters:

Returns:

  • (AWSCDK::Pipelines::DockerCredential)


27
28
29
30
31
32
33
# File 'pipelines/docker_credential.rb', line 27

def self.custom_registry(registry_domain, secret, opts = nil)
  Jsii::Type.check_type(registry_domain, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "registryDomain")
  Jsii::Type.check_type(secret, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc2VjcmV0c21hbmFnZXIuSVNlY3JldCJ9")), "secret")
  opts = opts.is_a?(Hash) ? ::AWSCDK::Pipelines::ExternalDockerCredentialOptions.new(**opts.transform_keys(&:to_sym)) : opts
  Jsii::Type.check_type(opts, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5waXBlbGluZXMuRXh0ZXJuYWxEb2NrZXJDcmVkZW50aWFsT3B0aW9ucyJ9")), "opts") unless opts.nil?
  Jsii::Kernel.instance.call_static("aws-cdk-lib.pipelines.DockerCredential", "customRegistry", [registry_domain, secret, opts])
end

.docker_hub(secret, opts = nil) ⇒ AWSCDK::Pipelines::DockerCredential

Creates a DockerCredential for DockerHub.

Convenience method for customRegistry('https://index.docker.io/v1/', opts).

Parameters:

Returns:

  • (AWSCDK::Pipelines::DockerCredential)


42
43
44
45
46
47
# File 'pipelines/docker_credential.rb', line 42

def self.docker_hub(secret, opts = nil)
  Jsii::Type.check_type(secret, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc2VjcmV0c21hbmFnZXIuSVNlY3JldCJ9")), "secret")
  opts = opts.is_a?(Hash) ? ::AWSCDK::Pipelines::ExternalDockerCredentialOptions.new(**opts.transform_keys(&:to_sym)) : opts
  Jsii::Type.check_type(opts, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5waXBlbGluZXMuRXh0ZXJuYWxEb2NrZXJDcmVkZW50aWFsT3B0aW9ucyJ9")), "opts") unless opts.nil?
  Jsii::Kernel.instance.call_static("aws-cdk-lib.pipelines.DockerCredential", "dockerHub", [secret, opts])
end

.ecr(repositories, opts = nil) ⇒ AWSCDK::Pipelines::DockerCredential

Creates a DockerCredential for one or more ECR repositories.

NOTE - All ECR repositories in the same account and region share a domain name (e.g., 0123456789012.dkr.ecr.eu-west-1.amazonaws.com), and can only have one associated set of credentials (and DockerCredential). Attempting to associate one set of credentials with one ECR repo and another with another ECR repo in the same account and region will result in failures when using these credentials in the pipeline.

Parameters:

Returns:

  • (AWSCDK::Pipelines::DockerCredential)


60
61
62
63
64
65
# File 'pipelines/docker_credential.rb', line 60

def self.ecr(repositories, opts = nil)
  Jsii::Type.check_type(repositories, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lY3IuSVJlcG9zaXRvcnkifSwia2luZCI6ImFycmF5In19")), "repositories")
  opts = opts.is_a?(Hash) ? ::AWSCDK::Pipelines::ECRDockerCredentialOptions.new(**opts.transform_keys(&:to_sym)) : opts
  Jsii::Type.check_type(opts, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5waXBlbGluZXMuRWNyRG9ja2VyQ3JlZGVudGlhbE9wdGlvbnMifQ==")), "opts") unless opts.nil?
  Jsii::Kernel.instance.call_static("aws-cdk-lib.pipelines.DockerCredential", "ecr", [repositories, opts])
end

.jsii_overridable_methodsObject



14
15
16
17
18
19
# File 'pipelines/docker_credential.rb', line 14

def self.jsii_overridable_methods
  {
    :usages => { kind: :property, name: "usages", is_optional: true },
    :grant_read => { kind: :method, name: "grantRead", is_optional: false },
  }
end

Instance Method Details

#grant_read(grantee, usage) ⇒ void

This method returns an undefined value.

Grant read-only access to the registry credentials.

This grants read access to any secrets, and pull access to any repositories.



79
80
81
82
83
# File 'pipelines/docker_credential.rb', line 79

def grant_read(grantee, usage)
  Jsii::Type.check_type(grantee, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklHcmFudGFibGUifQ==")), "grantee")
  Jsii::Type.check_type(usage, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5waXBlbGluZXMuRG9ja2VyQ3JlZGVudGlhbFVzYWdlIn0=")), "usage")
  jsii_call_method("grantRead", [grantee, usage])
end

#usagesArray<AWSCDK::Pipelines::DockerCredentialUsage>?



68
69
70
# File 'pipelines/docker_credential.rb', line 68

def usages()
  jsii_get_property("usages")
end