Class: Google::Cloud::Kms::V1::ImportJob

Inherits:
Object
  • Object
show all
Defined in:
lib/google/cloud/kms/v1/doc/google/cloud/kms/v1/resources.rb

Overview

An ImportJob can be used to create CryptoKeys and CryptoKeyVersions using pre-existing key material, generated outside of Cloud KMS.

When an ImportJob is created, Cloud KMS will generate a "wrapping key", which is a public/private key pair. You use the wrapping key to encrypt (also known as wrap) the pre-existing key material to protect it during the import process. The nature of the wrapping key depends on the choice of import_method. When the wrapping key generation is complete, the state will be set to ACTIVE and the public_key can be fetched. The fetched public key can then be used to wrap your pre-existing key material.

Once the key material is wrapped, it can be imported into a new CryptoKeyVersion in an existing CryptoKey by calling ImportCryptoKeyVersion. Multiple CryptoKeyVersions can be imported with a single ImportJob. Cloud KMS uses the private key portion of the wrapping key to unwrap the key material. Only Cloud KMS has access to the private key.

An ImportJob expires 3 days after it is created. Once expired, Cloud KMS will no longer be able to import or unwrap any key material that was wrapped with the ImportJob's public key.

For more information, see Importing a key.

Defined Under Namespace

Modules: ImportJobState, ImportMethod Classes: WrappingPublicKey

Instance Attribute Summary collapse

Instance Attribute Details

#attestationGoogle::Cloud::Kms::V1::KeyOperationAttestation

Returns Output only. Statement that was generated and signed by the key creator (for example, an HSM) at key creation time. Use this statement to verify attributes of the key as stored on the HSM, independently of Google. Only present if the chosen ImportMethod is one with a protection level of HSM.

Returns:

  • (Google::Cloud::Kms::V1::KeyOperationAttestation)

    Output only. Statement that was generated and signed by the key creator (for example, an HSM) at key creation time. Use this statement to verify attributes of the key as stored on the HSM, independently of Google. Only present if the chosen ImportMethod is one with a protection level of HSM.



450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
# File 'lib/google/cloud/kms/v1/doc/google/cloud/kms/v1/resources.rb', line 450

class ImportJob
  # The public key component of the wrapping key. For details of the type of
  # key this public key corresponds to, see the {Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod}.
  # @!attribute [rw] pem
  #   @return [String]
  #     The public key, encoded in PEM format. For more information, see the [RFC
  #     7468](https://tools.ietf.org/html/rfc7468) sections for [General
  #     Considerations](https://tools.ietf.org/html/rfc7468#section-2) and
  #     [Textual Encoding of Subject Public Key Info]
  #     (https://tools.ietf.org/html/rfc7468#section-13).
  class WrappingPublicKey; end

  # The state of the {Google::Cloud::Kms::V1::ImportJob ImportJob}, indicating if it can be used.
  module ImportJobState
    # Not specified.
    IMPORT_JOB_STATE_UNSPECIFIED = 0

    # The wrapping key for this job is still being generated. It may not be
    # used. Cloud KMS will automatically mark this job as
    # {Google::Cloud::Kms::V1::ImportJob::ImportJobState::ACTIVE ACTIVE} as soon as the wrapping key is generated.
    PENDING_GENERATION = 1

    # This job may be used in
    # {Google::Cloud::Kms::V1::KeyManagementService::CreateCryptoKey CreateCryptoKey} and
    # {Google::Cloud::Kms::V1::KeyManagementService::CreateCryptoKeyVersion CreateCryptoKeyVersion}
    # requests.
    ACTIVE = 2

    # This job can no longer be used and may not leave this state once entered.
    EXPIRED = 3
  end

  # {Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod} describes the key wrapping method chosen for this
  # {Google::Cloud::Kms::V1::ImportJob ImportJob}.
  module ImportMethod
    # Not specified.
    IMPORT_METHOD_UNSPECIFIED = 0

    # This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping
    # scheme defined in the PKCS #11 standard. In summary, this involves
    # wrapping the raw key with an ephemeral AES key, and wrapping the
    # ephemeral AES key with a 3072 bit RSA key. For more details, see
    # [RSA AES key wrap
    # mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_3072_SHA1_AES_256 = 1

    # This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping
    # scheme defined in the PKCS #11 standard. In summary, this involves
    # wrapping the raw key with an ephemeral AES key, and wrapping the
    # ephemeral AES key with a 4096 bit RSA key. For more details, see
    # [RSA AES key wrap
    # mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_4096_SHA1_AES_256 = 2
  end
end

#create_timeGoogle::Protobuf::Timestamp

Returns Output only. The time at which this ImportJob was created.

Returns:



450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
# File 'lib/google/cloud/kms/v1/doc/google/cloud/kms/v1/resources.rb', line 450

class ImportJob
  # The public key component of the wrapping key. For details of the type of
  # key this public key corresponds to, see the {Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod}.
  # @!attribute [rw] pem
  #   @return [String]
  #     The public key, encoded in PEM format. For more information, see the [RFC
  #     7468](https://tools.ietf.org/html/rfc7468) sections for [General
  #     Considerations](https://tools.ietf.org/html/rfc7468#section-2) and
  #     [Textual Encoding of Subject Public Key Info]
  #     (https://tools.ietf.org/html/rfc7468#section-13).
  class WrappingPublicKey; end

  # The state of the {Google::Cloud::Kms::V1::ImportJob ImportJob}, indicating if it can be used.
  module ImportJobState
    # Not specified.
    IMPORT_JOB_STATE_UNSPECIFIED = 0

    # The wrapping key for this job is still being generated. It may not be
    # used. Cloud KMS will automatically mark this job as
    # {Google::Cloud::Kms::V1::ImportJob::ImportJobState::ACTIVE ACTIVE} as soon as the wrapping key is generated.
    PENDING_GENERATION = 1

    # This job may be used in
    # {Google::Cloud::Kms::V1::KeyManagementService::CreateCryptoKey CreateCryptoKey} and
    # {Google::Cloud::Kms::V1::KeyManagementService::CreateCryptoKeyVersion CreateCryptoKeyVersion}
    # requests.
    ACTIVE = 2

    # This job can no longer be used and may not leave this state once entered.
    EXPIRED = 3
  end

  # {Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod} describes the key wrapping method chosen for this
  # {Google::Cloud::Kms::V1::ImportJob ImportJob}.
  module ImportMethod
    # Not specified.
    IMPORT_METHOD_UNSPECIFIED = 0

    # This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping
    # scheme defined in the PKCS #11 standard. In summary, this involves
    # wrapping the raw key with an ephemeral AES key, and wrapping the
    # ephemeral AES key with a 3072 bit RSA key. For more details, see
    # [RSA AES key wrap
    # mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_3072_SHA1_AES_256 = 1

    # This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping
    # scheme defined in the PKCS #11 standard. In summary, this involves
    # wrapping the raw key with an ephemeral AES key, and wrapping the
    # ephemeral AES key with a 4096 bit RSA key. For more details, see
    # [RSA AES key wrap
    # mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_4096_SHA1_AES_256 = 2
  end
end

#expire_event_timeGoogle::Protobuf::Timestamp

Returns Output only. The time this ImportJob expired. Only present if state is EXPIRED.

Returns:



450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
# File 'lib/google/cloud/kms/v1/doc/google/cloud/kms/v1/resources.rb', line 450

class ImportJob
  # The public key component of the wrapping key. For details of the type of
  # key this public key corresponds to, see the {Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod}.
  # @!attribute [rw] pem
  #   @return [String]
  #     The public key, encoded in PEM format. For more information, see the [RFC
  #     7468](https://tools.ietf.org/html/rfc7468) sections for [General
  #     Considerations](https://tools.ietf.org/html/rfc7468#section-2) and
  #     [Textual Encoding of Subject Public Key Info]
  #     (https://tools.ietf.org/html/rfc7468#section-13).
  class WrappingPublicKey; end

  # The state of the {Google::Cloud::Kms::V1::ImportJob ImportJob}, indicating if it can be used.
  module ImportJobState
    # Not specified.
    IMPORT_JOB_STATE_UNSPECIFIED = 0

    # The wrapping key for this job is still being generated. It may not be
    # used. Cloud KMS will automatically mark this job as
    # {Google::Cloud::Kms::V1::ImportJob::ImportJobState::ACTIVE ACTIVE} as soon as the wrapping key is generated.
    PENDING_GENERATION = 1

    # This job may be used in
    # {Google::Cloud::Kms::V1::KeyManagementService::CreateCryptoKey CreateCryptoKey} and
    # {Google::Cloud::Kms::V1::KeyManagementService::CreateCryptoKeyVersion CreateCryptoKeyVersion}
    # requests.
    ACTIVE = 2

    # This job can no longer be used and may not leave this state once entered.
    EXPIRED = 3
  end

  # {Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod} describes the key wrapping method chosen for this
  # {Google::Cloud::Kms::V1::ImportJob ImportJob}.
  module ImportMethod
    # Not specified.
    IMPORT_METHOD_UNSPECIFIED = 0

    # This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping
    # scheme defined in the PKCS #11 standard. In summary, this involves
    # wrapping the raw key with an ephemeral AES key, and wrapping the
    # ephemeral AES key with a 3072 bit RSA key. For more details, see
    # [RSA AES key wrap
    # mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_3072_SHA1_AES_256 = 1

    # This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping
    # scheme defined in the PKCS #11 standard. In summary, this involves
    # wrapping the raw key with an ephemeral AES key, and wrapping the
    # ephemeral AES key with a 4096 bit RSA key. For more details, see
    # [RSA AES key wrap
    # mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_4096_SHA1_AES_256 = 2
  end
end

#expire_timeGoogle::Protobuf::Timestamp

Returns Output only. The time at which this ImportJob is scheduled for expiration and can no longer be used to import key material.

Returns:



450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
# File 'lib/google/cloud/kms/v1/doc/google/cloud/kms/v1/resources.rb', line 450

class ImportJob
  # The public key component of the wrapping key. For details of the type of
  # key this public key corresponds to, see the {Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod}.
  # @!attribute [rw] pem
  #   @return [String]
  #     The public key, encoded in PEM format. For more information, see the [RFC
  #     7468](https://tools.ietf.org/html/rfc7468) sections for [General
  #     Considerations](https://tools.ietf.org/html/rfc7468#section-2) and
  #     [Textual Encoding of Subject Public Key Info]
  #     (https://tools.ietf.org/html/rfc7468#section-13).
  class WrappingPublicKey; end

  # The state of the {Google::Cloud::Kms::V1::ImportJob ImportJob}, indicating if it can be used.
  module ImportJobState
    # Not specified.
    IMPORT_JOB_STATE_UNSPECIFIED = 0

    # The wrapping key for this job is still being generated. It may not be
    # used. Cloud KMS will automatically mark this job as
    # {Google::Cloud::Kms::V1::ImportJob::ImportJobState::ACTIVE ACTIVE} as soon as the wrapping key is generated.
    PENDING_GENERATION = 1

    # This job may be used in
    # {Google::Cloud::Kms::V1::KeyManagementService::CreateCryptoKey CreateCryptoKey} and
    # {Google::Cloud::Kms::V1::KeyManagementService::CreateCryptoKeyVersion CreateCryptoKeyVersion}
    # requests.
    ACTIVE = 2

    # This job can no longer be used and may not leave this state once entered.
    EXPIRED = 3
  end

  # {Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod} describes the key wrapping method chosen for this
  # {Google::Cloud::Kms::V1::ImportJob ImportJob}.
  module ImportMethod
    # Not specified.
    IMPORT_METHOD_UNSPECIFIED = 0

    # This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping
    # scheme defined in the PKCS #11 standard. In summary, this involves
    # wrapping the raw key with an ephemeral AES key, and wrapping the
    # ephemeral AES key with a 3072 bit RSA key. For more details, see
    # [RSA AES key wrap
    # mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_3072_SHA1_AES_256 = 1

    # This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping
    # scheme defined in the PKCS #11 standard. In summary, this involves
    # wrapping the raw key with an ephemeral AES key, and wrapping the
    # ephemeral AES key with a 4096 bit RSA key. For more details, see
    # [RSA AES key wrap
    # mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_4096_SHA1_AES_256 = 2
  end
end

#generate_timeGoogle::Protobuf::Timestamp

Returns Output only. The time this ImportJob's key material was generated.

Returns:



450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
# File 'lib/google/cloud/kms/v1/doc/google/cloud/kms/v1/resources.rb', line 450

class ImportJob
  # The public key component of the wrapping key. For details of the type of
  # key this public key corresponds to, see the {Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod}.
  # @!attribute [rw] pem
  #   @return [String]
  #     The public key, encoded in PEM format. For more information, see the [RFC
  #     7468](https://tools.ietf.org/html/rfc7468) sections for [General
  #     Considerations](https://tools.ietf.org/html/rfc7468#section-2) and
  #     [Textual Encoding of Subject Public Key Info]
  #     (https://tools.ietf.org/html/rfc7468#section-13).
  class WrappingPublicKey; end

  # The state of the {Google::Cloud::Kms::V1::ImportJob ImportJob}, indicating if it can be used.
  module ImportJobState
    # Not specified.
    IMPORT_JOB_STATE_UNSPECIFIED = 0

    # The wrapping key for this job is still being generated. It may not be
    # used. Cloud KMS will automatically mark this job as
    # {Google::Cloud::Kms::V1::ImportJob::ImportJobState::ACTIVE ACTIVE} as soon as the wrapping key is generated.
    PENDING_GENERATION = 1

    # This job may be used in
    # {Google::Cloud::Kms::V1::KeyManagementService::CreateCryptoKey CreateCryptoKey} and
    # {Google::Cloud::Kms::V1::KeyManagementService::CreateCryptoKeyVersion CreateCryptoKeyVersion}
    # requests.
    ACTIVE = 2

    # This job can no longer be used and may not leave this state once entered.
    EXPIRED = 3
  end

  # {Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod} describes the key wrapping method chosen for this
  # {Google::Cloud::Kms::V1::ImportJob ImportJob}.
  module ImportMethod
    # Not specified.
    IMPORT_METHOD_UNSPECIFIED = 0

    # This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping
    # scheme defined in the PKCS #11 standard. In summary, this involves
    # wrapping the raw key with an ephemeral AES key, and wrapping the
    # ephemeral AES key with a 3072 bit RSA key. For more details, see
    # [RSA AES key wrap
    # mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_3072_SHA1_AES_256 = 1

    # This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping
    # scheme defined in the PKCS #11 standard. In summary, this involves
    # wrapping the raw key with an ephemeral AES key, and wrapping the
    # ephemeral AES key with a 4096 bit RSA key. For more details, see
    # [RSA AES key wrap
    # mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_4096_SHA1_AES_256 = 2
  end
end

#import_methodGoogle::Cloud::Kms::V1::ImportJob::ImportMethod

Returns Required and immutable. The wrapping method to be used for incoming key material.

Returns:



450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
# File 'lib/google/cloud/kms/v1/doc/google/cloud/kms/v1/resources.rb', line 450

class ImportJob
  # The public key component of the wrapping key. For details of the type of
  # key this public key corresponds to, see the {Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod}.
  # @!attribute [rw] pem
  #   @return [String]
  #     The public key, encoded in PEM format. For more information, see the [RFC
  #     7468](https://tools.ietf.org/html/rfc7468) sections for [General
  #     Considerations](https://tools.ietf.org/html/rfc7468#section-2) and
  #     [Textual Encoding of Subject Public Key Info]
  #     (https://tools.ietf.org/html/rfc7468#section-13).
  class WrappingPublicKey; end

  # The state of the {Google::Cloud::Kms::V1::ImportJob ImportJob}, indicating if it can be used.
  module ImportJobState
    # Not specified.
    IMPORT_JOB_STATE_UNSPECIFIED = 0

    # The wrapping key for this job is still being generated. It may not be
    # used. Cloud KMS will automatically mark this job as
    # {Google::Cloud::Kms::V1::ImportJob::ImportJobState::ACTIVE ACTIVE} as soon as the wrapping key is generated.
    PENDING_GENERATION = 1

    # This job may be used in
    # {Google::Cloud::Kms::V1::KeyManagementService::CreateCryptoKey CreateCryptoKey} and
    # {Google::Cloud::Kms::V1::KeyManagementService::CreateCryptoKeyVersion CreateCryptoKeyVersion}
    # requests.
    ACTIVE = 2

    # This job can no longer be used and may not leave this state once entered.
    EXPIRED = 3
  end

  # {Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod} describes the key wrapping method chosen for this
  # {Google::Cloud::Kms::V1::ImportJob ImportJob}.
  module ImportMethod
    # Not specified.
    IMPORT_METHOD_UNSPECIFIED = 0

    # This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping
    # scheme defined in the PKCS #11 standard. In summary, this involves
    # wrapping the raw key with an ephemeral AES key, and wrapping the
    # ephemeral AES key with a 3072 bit RSA key. For more details, see
    # [RSA AES key wrap
    # mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_3072_SHA1_AES_256 = 1

    # This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping
    # scheme defined in the PKCS #11 standard. In summary, this involves
    # wrapping the raw key with an ephemeral AES key, and wrapping the
    # ephemeral AES key with a 4096 bit RSA key. For more details, see
    # [RSA AES key wrap
    # mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_4096_SHA1_AES_256 = 2
  end
end

#nameString

Returns Output only. The resource name for this ImportJob in the format projects/*/locations/*/keyRings/*/importJobs/*.

Returns:

  • (String)

    Output only. The resource name for this ImportJob in the format projects/*/locations/*/keyRings/*/importJobs/*.



450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
# File 'lib/google/cloud/kms/v1/doc/google/cloud/kms/v1/resources.rb', line 450

class ImportJob
  # The public key component of the wrapping key. For details of the type of
  # key this public key corresponds to, see the {Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod}.
  # @!attribute [rw] pem
  #   @return [String]
  #     The public key, encoded in PEM format. For more information, see the [RFC
  #     7468](https://tools.ietf.org/html/rfc7468) sections for [General
  #     Considerations](https://tools.ietf.org/html/rfc7468#section-2) and
  #     [Textual Encoding of Subject Public Key Info]
  #     (https://tools.ietf.org/html/rfc7468#section-13).
  class WrappingPublicKey; end

  # The state of the {Google::Cloud::Kms::V1::ImportJob ImportJob}, indicating if it can be used.
  module ImportJobState
    # Not specified.
    IMPORT_JOB_STATE_UNSPECIFIED = 0

    # The wrapping key for this job is still being generated. It may not be
    # used. Cloud KMS will automatically mark this job as
    # {Google::Cloud::Kms::V1::ImportJob::ImportJobState::ACTIVE ACTIVE} as soon as the wrapping key is generated.
    PENDING_GENERATION = 1

    # This job may be used in
    # {Google::Cloud::Kms::V1::KeyManagementService::CreateCryptoKey CreateCryptoKey} and
    # {Google::Cloud::Kms::V1::KeyManagementService::CreateCryptoKeyVersion CreateCryptoKeyVersion}
    # requests.
    ACTIVE = 2

    # This job can no longer be used and may not leave this state once entered.
    EXPIRED = 3
  end

  # {Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod} describes the key wrapping method chosen for this
  # {Google::Cloud::Kms::V1::ImportJob ImportJob}.
  module ImportMethod
    # Not specified.
    IMPORT_METHOD_UNSPECIFIED = 0

    # This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping
    # scheme defined in the PKCS #11 standard. In summary, this involves
    # wrapping the raw key with an ephemeral AES key, and wrapping the
    # ephemeral AES key with a 3072 bit RSA key. For more details, see
    # [RSA AES key wrap
    # mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_3072_SHA1_AES_256 = 1

    # This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping
    # scheme defined in the PKCS #11 standard. In summary, this involves
    # wrapping the raw key with an ephemeral AES key, and wrapping the
    # ephemeral AES key with a 4096 bit RSA key. For more details, see
    # [RSA AES key wrap
    # mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_4096_SHA1_AES_256 = 2
  end
end

#protection_levelGoogle::Cloud::Kms::V1::ProtectionLevel

Returns Required and immutable. The protection level of the ImportJob. This must match the protection_level of the version_template on the CryptoKey you attempt to import into.

Returns:



450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
# File 'lib/google/cloud/kms/v1/doc/google/cloud/kms/v1/resources.rb', line 450

class ImportJob
  # The public key component of the wrapping key. For details of the type of
  # key this public key corresponds to, see the {Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod}.
  # @!attribute [rw] pem
  #   @return [String]
  #     The public key, encoded in PEM format. For more information, see the [RFC
  #     7468](https://tools.ietf.org/html/rfc7468) sections for [General
  #     Considerations](https://tools.ietf.org/html/rfc7468#section-2) and
  #     [Textual Encoding of Subject Public Key Info]
  #     (https://tools.ietf.org/html/rfc7468#section-13).
  class WrappingPublicKey; end

  # The state of the {Google::Cloud::Kms::V1::ImportJob ImportJob}, indicating if it can be used.
  module ImportJobState
    # Not specified.
    IMPORT_JOB_STATE_UNSPECIFIED = 0

    # The wrapping key for this job is still being generated. It may not be
    # used. Cloud KMS will automatically mark this job as
    # {Google::Cloud::Kms::V1::ImportJob::ImportJobState::ACTIVE ACTIVE} as soon as the wrapping key is generated.
    PENDING_GENERATION = 1

    # This job may be used in
    # {Google::Cloud::Kms::V1::KeyManagementService::CreateCryptoKey CreateCryptoKey} and
    # {Google::Cloud::Kms::V1::KeyManagementService::CreateCryptoKeyVersion CreateCryptoKeyVersion}
    # requests.
    ACTIVE = 2

    # This job can no longer be used and may not leave this state once entered.
    EXPIRED = 3
  end

  # {Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod} describes the key wrapping method chosen for this
  # {Google::Cloud::Kms::V1::ImportJob ImportJob}.
  module ImportMethod
    # Not specified.
    IMPORT_METHOD_UNSPECIFIED = 0

    # This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping
    # scheme defined in the PKCS #11 standard. In summary, this involves
    # wrapping the raw key with an ephemeral AES key, and wrapping the
    # ephemeral AES key with a 3072 bit RSA key. For more details, see
    # [RSA AES key wrap
    # mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_3072_SHA1_AES_256 = 1

    # This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping
    # scheme defined in the PKCS #11 standard. In summary, this involves
    # wrapping the raw key with an ephemeral AES key, and wrapping the
    # ephemeral AES key with a 4096 bit RSA key. For more details, see
    # [RSA AES key wrap
    # mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_4096_SHA1_AES_256 = 2
  end
end

#public_keyGoogle::Cloud::Kms::V1::ImportJob::WrappingPublicKey

Returns Output only. The public key with which to wrap key material prior to import. Only returned if state is ACTIVE.

Returns:



450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
# File 'lib/google/cloud/kms/v1/doc/google/cloud/kms/v1/resources.rb', line 450

class ImportJob
  # The public key component of the wrapping key. For details of the type of
  # key this public key corresponds to, see the {Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod}.
  # @!attribute [rw] pem
  #   @return [String]
  #     The public key, encoded in PEM format. For more information, see the [RFC
  #     7468](https://tools.ietf.org/html/rfc7468) sections for [General
  #     Considerations](https://tools.ietf.org/html/rfc7468#section-2) and
  #     [Textual Encoding of Subject Public Key Info]
  #     (https://tools.ietf.org/html/rfc7468#section-13).
  class WrappingPublicKey; end

  # The state of the {Google::Cloud::Kms::V1::ImportJob ImportJob}, indicating if it can be used.
  module ImportJobState
    # Not specified.
    IMPORT_JOB_STATE_UNSPECIFIED = 0

    # The wrapping key for this job is still being generated. It may not be
    # used. Cloud KMS will automatically mark this job as
    # {Google::Cloud::Kms::V1::ImportJob::ImportJobState::ACTIVE ACTIVE} as soon as the wrapping key is generated.
    PENDING_GENERATION = 1

    # This job may be used in
    # {Google::Cloud::Kms::V1::KeyManagementService::CreateCryptoKey CreateCryptoKey} and
    # {Google::Cloud::Kms::V1::KeyManagementService::CreateCryptoKeyVersion CreateCryptoKeyVersion}
    # requests.
    ACTIVE = 2

    # This job can no longer be used and may not leave this state once entered.
    EXPIRED = 3
  end

  # {Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod} describes the key wrapping method chosen for this
  # {Google::Cloud::Kms::V1::ImportJob ImportJob}.
  module ImportMethod
    # Not specified.
    IMPORT_METHOD_UNSPECIFIED = 0

    # This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping
    # scheme defined in the PKCS #11 standard. In summary, this involves
    # wrapping the raw key with an ephemeral AES key, and wrapping the
    # ephemeral AES key with a 3072 bit RSA key. For more details, see
    # [RSA AES key wrap
    # mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_3072_SHA1_AES_256 = 1

    # This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping
    # scheme defined in the PKCS #11 standard. In summary, this involves
    # wrapping the raw key with an ephemeral AES key, and wrapping the
    # ephemeral AES key with a 4096 bit RSA key. For more details, see
    # [RSA AES key wrap
    # mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_4096_SHA1_AES_256 = 2
  end
end

#stateGoogle::Cloud::Kms::V1::ImportJob::ImportJobState

Returns Output only. The current state of the ImportJob, indicating if it can be used.

Returns:



450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
# File 'lib/google/cloud/kms/v1/doc/google/cloud/kms/v1/resources.rb', line 450

class ImportJob
  # The public key component of the wrapping key. For details of the type of
  # key this public key corresponds to, see the {Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod}.
  # @!attribute [rw] pem
  #   @return [String]
  #     The public key, encoded in PEM format. For more information, see the [RFC
  #     7468](https://tools.ietf.org/html/rfc7468) sections for [General
  #     Considerations](https://tools.ietf.org/html/rfc7468#section-2) and
  #     [Textual Encoding of Subject Public Key Info]
  #     (https://tools.ietf.org/html/rfc7468#section-13).
  class WrappingPublicKey; end

  # The state of the {Google::Cloud::Kms::V1::ImportJob ImportJob}, indicating if it can be used.
  module ImportJobState
    # Not specified.
    IMPORT_JOB_STATE_UNSPECIFIED = 0

    # The wrapping key for this job is still being generated. It may not be
    # used. Cloud KMS will automatically mark this job as
    # {Google::Cloud::Kms::V1::ImportJob::ImportJobState::ACTIVE ACTIVE} as soon as the wrapping key is generated.
    PENDING_GENERATION = 1

    # This job may be used in
    # {Google::Cloud::Kms::V1::KeyManagementService::CreateCryptoKey CreateCryptoKey} and
    # {Google::Cloud::Kms::V1::KeyManagementService::CreateCryptoKeyVersion CreateCryptoKeyVersion}
    # requests.
    ACTIVE = 2

    # This job can no longer be used and may not leave this state once entered.
    EXPIRED = 3
  end

  # {Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod} describes the key wrapping method chosen for this
  # {Google::Cloud::Kms::V1::ImportJob ImportJob}.
  module ImportMethod
    # Not specified.
    IMPORT_METHOD_UNSPECIFIED = 0

    # This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping
    # scheme defined in the PKCS #11 standard. In summary, this involves
    # wrapping the raw key with an ephemeral AES key, and wrapping the
    # ephemeral AES key with a 3072 bit RSA key. For more details, see
    # [RSA AES key wrap
    # mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_3072_SHA1_AES_256 = 1

    # This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping
    # scheme defined in the PKCS #11 standard. In summary, this involves
    # wrapping the raw key with an ephemeral AES key, and wrapping the
    # ephemeral AES key with a 4096 bit RSA key. For more details, see
    # [RSA AES key wrap
    # mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_4096_SHA1_AES_256 = 2
  end
end