Documentation ¶
Index ¶
- type CryptoKey
- type CryptoKeyArgs
- type CryptoKeyArray
- type CryptoKeyArrayInput
- type CryptoKeyArrayOutput
- func (CryptoKeyArrayOutput) ElementType() reflect.Type
- func (o CryptoKeyArrayOutput) Index(i pulumi.IntInput) CryptoKeyOutput
- func (o CryptoKeyArrayOutput) ToCryptoKeyArrayOutput() CryptoKeyArrayOutput
- func (o CryptoKeyArrayOutput) ToCryptoKeyArrayOutputWithContext(ctx context.Context) CryptoKeyArrayOutput
- type CryptoKeyIAMBinding
- type CryptoKeyIAMBindingArgs
- type CryptoKeyIAMBindingArray
- type CryptoKeyIAMBindingArrayInput
- type CryptoKeyIAMBindingArrayOutput
- func (CryptoKeyIAMBindingArrayOutput) ElementType() reflect.Type
- func (o CryptoKeyIAMBindingArrayOutput) Index(i pulumi.IntInput) CryptoKeyIAMBindingOutput
- func (o CryptoKeyIAMBindingArrayOutput) ToCryptoKeyIAMBindingArrayOutput() CryptoKeyIAMBindingArrayOutput
- func (o CryptoKeyIAMBindingArrayOutput) ToCryptoKeyIAMBindingArrayOutputWithContext(ctx context.Context) CryptoKeyIAMBindingArrayOutput
- type CryptoKeyIAMBindingCondition
- type CryptoKeyIAMBindingConditionArgs
- func (CryptoKeyIAMBindingConditionArgs) ElementType() reflect.Type
- func (i CryptoKeyIAMBindingConditionArgs) ToCryptoKeyIAMBindingConditionOutput() CryptoKeyIAMBindingConditionOutput
- func (i CryptoKeyIAMBindingConditionArgs) ToCryptoKeyIAMBindingConditionOutputWithContext(ctx context.Context) CryptoKeyIAMBindingConditionOutput
- func (i CryptoKeyIAMBindingConditionArgs) ToCryptoKeyIAMBindingConditionPtrOutput() CryptoKeyIAMBindingConditionPtrOutput
- func (i CryptoKeyIAMBindingConditionArgs) ToCryptoKeyIAMBindingConditionPtrOutputWithContext(ctx context.Context) CryptoKeyIAMBindingConditionPtrOutput
- type CryptoKeyIAMBindingConditionInput
- type CryptoKeyIAMBindingConditionOutput
- func (o CryptoKeyIAMBindingConditionOutput) Description() pulumi.StringPtrOutput
- func (CryptoKeyIAMBindingConditionOutput) ElementType() reflect.Type
- func (o CryptoKeyIAMBindingConditionOutput) Expression() pulumi.StringOutput
- func (o CryptoKeyIAMBindingConditionOutput) Title() pulumi.StringOutput
- func (o CryptoKeyIAMBindingConditionOutput) ToCryptoKeyIAMBindingConditionOutput() CryptoKeyIAMBindingConditionOutput
- func (o CryptoKeyIAMBindingConditionOutput) ToCryptoKeyIAMBindingConditionOutputWithContext(ctx context.Context) CryptoKeyIAMBindingConditionOutput
- func (o CryptoKeyIAMBindingConditionOutput) ToCryptoKeyIAMBindingConditionPtrOutput() CryptoKeyIAMBindingConditionPtrOutput
- func (o CryptoKeyIAMBindingConditionOutput) ToCryptoKeyIAMBindingConditionPtrOutputWithContext(ctx context.Context) CryptoKeyIAMBindingConditionPtrOutput
- type CryptoKeyIAMBindingConditionPtrInput
- type CryptoKeyIAMBindingConditionPtrOutput
- func (o CryptoKeyIAMBindingConditionPtrOutput) Description() pulumi.StringPtrOutput
- func (o CryptoKeyIAMBindingConditionPtrOutput) Elem() CryptoKeyIAMBindingConditionOutput
- func (CryptoKeyIAMBindingConditionPtrOutput) ElementType() reflect.Type
- func (o CryptoKeyIAMBindingConditionPtrOutput) Expression() pulumi.StringPtrOutput
- func (o CryptoKeyIAMBindingConditionPtrOutput) Title() pulumi.StringPtrOutput
- func (o CryptoKeyIAMBindingConditionPtrOutput) ToCryptoKeyIAMBindingConditionPtrOutput() CryptoKeyIAMBindingConditionPtrOutput
- func (o CryptoKeyIAMBindingConditionPtrOutput) ToCryptoKeyIAMBindingConditionPtrOutputWithContext(ctx context.Context) CryptoKeyIAMBindingConditionPtrOutput
- type CryptoKeyIAMBindingInput
- type CryptoKeyIAMBindingMap
- type CryptoKeyIAMBindingMapInput
- type CryptoKeyIAMBindingMapOutput
- func (CryptoKeyIAMBindingMapOutput) ElementType() reflect.Type
- func (o CryptoKeyIAMBindingMapOutput) MapIndex(k pulumi.StringInput) CryptoKeyIAMBindingOutput
- func (o CryptoKeyIAMBindingMapOutput) ToCryptoKeyIAMBindingMapOutput() CryptoKeyIAMBindingMapOutput
- func (o CryptoKeyIAMBindingMapOutput) ToCryptoKeyIAMBindingMapOutputWithContext(ctx context.Context) CryptoKeyIAMBindingMapOutput
- type CryptoKeyIAMBindingOutput
- type CryptoKeyIAMBindingState
- type CryptoKeyIAMMember
- type CryptoKeyIAMMemberArgs
- type CryptoKeyIAMMemberArray
- type CryptoKeyIAMMemberArrayInput
- type CryptoKeyIAMMemberArrayOutput
- func (CryptoKeyIAMMemberArrayOutput) ElementType() reflect.Type
- func (o CryptoKeyIAMMemberArrayOutput) Index(i pulumi.IntInput) CryptoKeyIAMMemberOutput
- func (o CryptoKeyIAMMemberArrayOutput) ToCryptoKeyIAMMemberArrayOutput() CryptoKeyIAMMemberArrayOutput
- func (o CryptoKeyIAMMemberArrayOutput) ToCryptoKeyIAMMemberArrayOutputWithContext(ctx context.Context) CryptoKeyIAMMemberArrayOutput
- type CryptoKeyIAMMemberCondition
- type CryptoKeyIAMMemberConditionArgs
- func (CryptoKeyIAMMemberConditionArgs) ElementType() reflect.Type
- func (i CryptoKeyIAMMemberConditionArgs) ToCryptoKeyIAMMemberConditionOutput() CryptoKeyIAMMemberConditionOutput
- func (i CryptoKeyIAMMemberConditionArgs) ToCryptoKeyIAMMemberConditionOutputWithContext(ctx context.Context) CryptoKeyIAMMemberConditionOutput
- func (i CryptoKeyIAMMemberConditionArgs) ToCryptoKeyIAMMemberConditionPtrOutput() CryptoKeyIAMMemberConditionPtrOutput
- func (i CryptoKeyIAMMemberConditionArgs) ToCryptoKeyIAMMemberConditionPtrOutputWithContext(ctx context.Context) CryptoKeyIAMMemberConditionPtrOutput
- type CryptoKeyIAMMemberConditionInput
- type CryptoKeyIAMMemberConditionOutput
- func (o CryptoKeyIAMMemberConditionOutput) Description() pulumi.StringPtrOutput
- func (CryptoKeyIAMMemberConditionOutput) ElementType() reflect.Type
- func (o CryptoKeyIAMMemberConditionOutput) Expression() pulumi.StringOutput
- func (o CryptoKeyIAMMemberConditionOutput) Title() pulumi.StringOutput
- func (o CryptoKeyIAMMemberConditionOutput) ToCryptoKeyIAMMemberConditionOutput() CryptoKeyIAMMemberConditionOutput
- func (o CryptoKeyIAMMemberConditionOutput) ToCryptoKeyIAMMemberConditionOutputWithContext(ctx context.Context) CryptoKeyIAMMemberConditionOutput
- func (o CryptoKeyIAMMemberConditionOutput) ToCryptoKeyIAMMemberConditionPtrOutput() CryptoKeyIAMMemberConditionPtrOutput
- func (o CryptoKeyIAMMemberConditionOutput) ToCryptoKeyIAMMemberConditionPtrOutputWithContext(ctx context.Context) CryptoKeyIAMMemberConditionPtrOutput
- type CryptoKeyIAMMemberConditionPtrInput
- type CryptoKeyIAMMemberConditionPtrOutput
- func (o CryptoKeyIAMMemberConditionPtrOutput) Description() pulumi.StringPtrOutput
- func (o CryptoKeyIAMMemberConditionPtrOutput) Elem() CryptoKeyIAMMemberConditionOutput
- func (CryptoKeyIAMMemberConditionPtrOutput) ElementType() reflect.Type
- func (o CryptoKeyIAMMemberConditionPtrOutput) Expression() pulumi.StringPtrOutput
- func (o CryptoKeyIAMMemberConditionPtrOutput) Title() pulumi.StringPtrOutput
- func (o CryptoKeyIAMMemberConditionPtrOutput) ToCryptoKeyIAMMemberConditionPtrOutput() CryptoKeyIAMMemberConditionPtrOutput
- func (o CryptoKeyIAMMemberConditionPtrOutput) ToCryptoKeyIAMMemberConditionPtrOutputWithContext(ctx context.Context) CryptoKeyIAMMemberConditionPtrOutput
- type CryptoKeyIAMMemberInput
- type CryptoKeyIAMMemberMap
- type CryptoKeyIAMMemberMapInput
- type CryptoKeyIAMMemberMapOutput
- func (CryptoKeyIAMMemberMapOutput) ElementType() reflect.Type
- func (o CryptoKeyIAMMemberMapOutput) MapIndex(k pulumi.StringInput) CryptoKeyIAMMemberOutput
- func (o CryptoKeyIAMMemberMapOutput) ToCryptoKeyIAMMemberMapOutput() CryptoKeyIAMMemberMapOutput
- func (o CryptoKeyIAMMemberMapOutput) ToCryptoKeyIAMMemberMapOutputWithContext(ctx context.Context) CryptoKeyIAMMemberMapOutput
- type CryptoKeyIAMMemberOutput
- type CryptoKeyIAMMemberState
- type CryptoKeyIAMPolicy
- type CryptoKeyIAMPolicyArgs
- type CryptoKeyIAMPolicyArray
- type CryptoKeyIAMPolicyArrayInput
- type CryptoKeyIAMPolicyArrayOutput
- func (CryptoKeyIAMPolicyArrayOutput) ElementType() reflect.Type
- func (o CryptoKeyIAMPolicyArrayOutput) Index(i pulumi.IntInput) CryptoKeyIAMPolicyOutput
- func (o CryptoKeyIAMPolicyArrayOutput) ToCryptoKeyIAMPolicyArrayOutput() CryptoKeyIAMPolicyArrayOutput
- func (o CryptoKeyIAMPolicyArrayOutput) ToCryptoKeyIAMPolicyArrayOutputWithContext(ctx context.Context) CryptoKeyIAMPolicyArrayOutput
- type CryptoKeyIAMPolicyInput
- type CryptoKeyIAMPolicyMap
- type CryptoKeyIAMPolicyMapInput
- type CryptoKeyIAMPolicyMapOutput
- func (CryptoKeyIAMPolicyMapOutput) ElementType() reflect.Type
- func (o CryptoKeyIAMPolicyMapOutput) MapIndex(k pulumi.StringInput) CryptoKeyIAMPolicyOutput
- func (o CryptoKeyIAMPolicyMapOutput) ToCryptoKeyIAMPolicyMapOutput() CryptoKeyIAMPolicyMapOutput
- func (o CryptoKeyIAMPolicyMapOutput) ToCryptoKeyIAMPolicyMapOutputWithContext(ctx context.Context) CryptoKeyIAMPolicyMapOutput
- type CryptoKeyIAMPolicyOutput
- type CryptoKeyIAMPolicyState
- type CryptoKeyInput
- type CryptoKeyMap
- type CryptoKeyMapInput
- type CryptoKeyMapOutput
- type CryptoKeyOutput
- type CryptoKeyState
- type CryptoKeyVersionTemplate
- type CryptoKeyVersionTemplateArgs
- func (CryptoKeyVersionTemplateArgs) ElementType() reflect.Type
- func (i CryptoKeyVersionTemplateArgs) ToCryptoKeyVersionTemplateOutput() CryptoKeyVersionTemplateOutput
- func (i CryptoKeyVersionTemplateArgs) ToCryptoKeyVersionTemplateOutputWithContext(ctx context.Context) CryptoKeyVersionTemplateOutput
- func (i CryptoKeyVersionTemplateArgs) ToCryptoKeyVersionTemplatePtrOutput() CryptoKeyVersionTemplatePtrOutput
- func (i CryptoKeyVersionTemplateArgs) ToCryptoKeyVersionTemplatePtrOutputWithContext(ctx context.Context) CryptoKeyVersionTemplatePtrOutput
- type CryptoKeyVersionTemplateInput
- type CryptoKeyVersionTemplateOutput
- func (o CryptoKeyVersionTemplateOutput) Algorithm() pulumi.StringOutput
- func (CryptoKeyVersionTemplateOutput) ElementType() reflect.Type
- func (o CryptoKeyVersionTemplateOutput) ProtectionLevel() pulumi.StringPtrOutput
- func (o CryptoKeyVersionTemplateOutput) ToCryptoKeyVersionTemplateOutput() CryptoKeyVersionTemplateOutput
- func (o CryptoKeyVersionTemplateOutput) ToCryptoKeyVersionTemplateOutputWithContext(ctx context.Context) CryptoKeyVersionTemplateOutput
- func (o CryptoKeyVersionTemplateOutput) ToCryptoKeyVersionTemplatePtrOutput() CryptoKeyVersionTemplatePtrOutput
- func (o CryptoKeyVersionTemplateOutput) ToCryptoKeyVersionTemplatePtrOutputWithContext(ctx context.Context) CryptoKeyVersionTemplatePtrOutput
- type CryptoKeyVersionTemplatePtrInput
- type CryptoKeyVersionTemplatePtrOutput
- func (o CryptoKeyVersionTemplatePtrOutput) Algorithm() pulumi.StringPtrOutput
- func (o CryptoKeyVersionTemplatePtrOutput) Elem() CryptoKeyVersionTemplateOutput
- func (CryptoKeyVersionTemplatePtrOutput) ElementType() reflect.Type
- func (o CryptoKeyVersionTemplatePtrOutput) ProtectionLevel() pulumi.StringPtrOutput
- func (o CryptoKeyVersionTemplatePtrOutput) ToCryptoKeyVersionTemplatePtrOutput() CryptoKeyVersionTemplatePtrOutput
- func (o CryptoKeyVersionTemplatePtrOutput) ToCryptoKeyVersionTemplatePtrOutputWithContext(ctx context.Context) CryptoKeyVersionTemplatePtrOutput
- type GetKMSCryptoKeyArgs
- type GetKMSCryptoKeyOutputArgs
- type GetKMSCryptoKeyResult
- type GetKMSCryptoKeyResultOutput
- func (o GetKMSCryptoKeyResultOutput) DestroyScheduledDuration() pulumi.StringOutput
- func (GetKMSCryptoKeyResultOutput) ElementType() reflect.Type
- func (o GetKMSCryptoKeyResultOutput) Id() pulumi.StringOutput
- func (o GetKMSCryptoKeyResultOutput) ImportOnly() pulumi.BoolOutput
- func (o GetKMSCryptoKeyResultOutput) KeyRing() pulumi.StringOutput
- func (o GetKMSCryptoKeyResultOutput) Labels() pulumi.StringMapOutput
- func (o GetKMSCryptoKeyResultOutput) Name() pulumi.StringOutput
- func (o GetKMSCryptoKeyResultOutput) Purpose() pulumi.StringOutput
- func (o GetKMSCryptoKeyResultOutput) RotationPeriod() pulumi.StringOutput
- func (o GetKMSCryptoKeyResultOutput) SkipInitialVersionCreation() pulumi.BoolOutput
- func (o GetKMSCryptoKeyResultOutput) ToGetKMSCryptoKeyResultOutput() GetKMSCryptoKeyResultOutput
- func (o GetKMSCryptoKeyResultOutput) ToGetKMSCryptoKeyResultOutputWithContext(ctx context.Context) GetKMSCryptoKeyResultOutput
- func (o GetKMSCryptoKeyResultOutput) VersionTemplates() GetKMSCryptoKeyVersionTemplateArrayOutput
- type GetKMSCryptoKeyVersionArgs
- type GetKMSCryptoKeyVersionOutputArgs
- type GetKMSCryptoKeyVersionPublicKey
- type GetKMSCryptoKeyVersionPublicKeyArgs
- func (GetKMSCryptoKeyVersionPublicKeyArgs) ElementType() reflect.Type
- func (i GetKMSCryptoKeyVersionPublicKeyArgs) ToGetKMSCryptoKeyVersionPublicKeyOutput() GetKMSCryptoKeyVersionPublicKeyOutput
- func (i GetKMSCryptoKeyVersionPublicKeyArgs) ToGetKMSCryptoKeyVersionPublicKeyOutputWithContext(ctx context.Context) GetKMSCryptoKeyVersionPublicKeyOutput
- type GetKMSCryptoKeyVersionPublicKeyArray
- func (GetKMSCryptoKeyVersionPublicKeyArray) ElementType() reflect.Type
- func (i GetKMSCryptoKeyVersionPublicKeyArray) ToGetKMSCryptoKeyVersionPublicKeyArrayOutput() GetKMSCryptoKeyVersionPublicKeyArrayOutput
- func (i GetKMSCryptoKeyVersionPublicKeyArray) ToGetKMSCryptoKeyVersionPublicKeyArrayOutputWithContext(ctx context.Context) GetKMSCryptoKeyVersionPublicKeyArrayOutput
- type GetKMSCryptoKeyVersionPublicKeyArrayInput
- type GetKMSCryptoKeyVersionPublicKeyArrayOutput
- func (GetKMSCryptoKeyVersionPublicKeyArrayOutput) ElementType() reflect.Type
- func (o GetKMSCryptoKeyVersionPublicKeyArrayOutput) Index(i pulumi.IntInput) GetKMSCryptoKeyVersionPublicKeyOutput
- func (o GetKMSCryptoKeyVersionPublicKeyArrayOutput) ToGetKMSCryptoKeyVersionPublicKeyArrayOutput() GetKMSCryptoKeyVersionPublicKeyArrayOutput
- func (o GetKMSCryptoKeyVersionPublicKeyArrayOutput) ToGetKMSCryptoKeyVersionPublicKeyArrayOutputWithContext(ctx context.Context) GetKMSCryptoKeyVersionPublicKeyArrayOutput
- type GetKMSCryptoKeyVersionPublicKeyInput
- type GetKMSCryptoKeyVersionPublicKeyOutput
- func (o GetKMSCryptoKeyVersionPublicKeyOutput) Algorithm() pulumi.StringOutput
- func (GetKMSCryptoKeyVersionPublicKeyOutput) ElementType() reflect.Type
- func (o GetKMSCryptoKeyVersionPublicKeyOutput) Pem() pulumi.StringOutput
- func (o GetKMSCryptoKeyVersionPublicKeyOutput) ToGetKMSCryptoKeyVersionPublicKeyOutput() GetKMSCryptoKeyVersionPublicKeyOutput
- func (o GetKMSCryptoKeyVersionPublicKeyOutput) ToGetKMSCryptoKeyVersionPublicKeyOutputWithContext(ctx context.Context) GetKMSCryptoKeyVersionPublicKeyOutput
- type GetKMSCryptoKeyVersionResult
- type GetKMSCryptoKeyVersionResultOutput
- func (o GetKMSCryptoKeyVersionResultOutput) Algorithm() pulumi.StringOutput
- func (o GetKMSCryptoKeyVersionResultOutput) CryptoKey() pulumi.StringOutput
- func (GetKMSCryptoKeyVersionResultOutput) ElementType() reflect.Type
- func (o GetKMSCryptoKeyVersionResultOutput) Id() pulumi.StringOutput
- func (o GetKMSCryptoKeyVersionResultOutput) Name() pulumi.StringOutput
- func (o GetKMSCryptoKeyVersionResultOutput) ProtectionLevel() pulumi.StringOutput
- func (o GetKMSCryptoKeyVersionResultOutput) PublicKeys() GetKMSCryptoKeyVersionPublicKeyArrayOutput
- func (o GetKMSCryptoKeyVersionResultOutput) State() pulumi.StringOutput
- func (o GetKMSCryptoKeyVersionResultOutput) ToGetKMSCryptoKeyVersionResultOutput() GetKMSCryptoKeyVersionResultOutput
- func (o GetKMSCryptoKeyVersionResultOutput) ToGetKMSCryptoKeyVersionResultOutputWithContext(ctx context.Context) GetKMSCryptoKeyVersionResultOutput
- func (o GetKMSCryptoKeyVersionResultOutput) Version() pulumi.IntPtrOutput
- type GetKMSCryptoKeyVersionTemplate
- type GetKMSCryptoKeyVersionTemplateArgs
- func (GetKMSCryptoKeyVersionTemplateArgs) ElementType() reflect.Type
- func (i GetKMSCryptoKeyVersionTemplateArgs) ToGetKMSCryptoKeyVersionTemplateOutput() GetKMSCryptoKeyVersionTemplateOutput
- func (i GetKMSCryptoKeyVersionTemplateArgs) ToGetKMSCryptoKeyVersionTemplateOutputWithContext(ctx context.Context) GetKMSCryptoKeyVersionTemplateOutput
- type GetKMSCryptoKeyVersionTemplateArray
- func (GetKMSCryptoKeyVersionTemplateArray) ElementType() reflect.Type
- func (i GetKMSCryptoKeyVersionTemplateArray) ToGetKMSCryptoKeyVersionTemplateArrayOutput() GetKMSCryptoKeyVersionTemplateArrayOutput
- func (i GetKMSCryptoKeyVersionTemplateArray) ToGetKMSCryptoKeyVersionTemplateArrayOutputWithContext(ctx context.Context) GetKMSCryptoKeyVersionTemplateArrayOutput
- type GetKMSCryptoKeyVersionTemplateArrayInput
- type GetKMSCryptoKeyVersionTemplateArrayOutput
- func (GetKMSCryptoKeyVersionTemplateArrayOutput) ElementType() reflect.Type
- func (o GetKMSCryptoKeyVersionTemplateArrayOutput) Index(i pulumi.IntInput) GetKMSCryptoKeyVersionTemplateOutput
- func (o GetKMSCryptoKeyVersionTemplateArrayOutput) ToGetKMSCryptoKeyVersionTemplateArrayOutput() GetKMSCryptoKeyVersionTemplateArrayOutput
- func (o GetKMSCryptoKeyVersionTemplateArrayOutput) ToGetKMSCryptoKeyVersionTemplateArrayOutputWithContext(ctx context.Context) GetKMSCryptoKeyVersionTemplateArrayOutput
- type GetKMSCryptoKeyVersionTemplateInput
- type GetKMSCryptoKeyVersionTemplateOutput
- func (o GetKMSCryptoKeyVersionTemplateOutput) Algorithm() pulumi.StringOutput
- func (GetKMSCryptoKeyVersionTemplateOutput) ElementType() reflect.Type
- func (o GetKMSCryptoKeyVersionTemplateOutput) ProtectionLevel() pulumi.StringOutput
- func (o GetKMSCryptoKeyVersionTemplateOutput) ToGetKMSCryptoKeyVersionTemplateOutput() GetKMSCryptoKeyVersionTemplateOutput
- func (o GetKMSCryptoKeyVersionTemplateOutput) ToGetKMSCryptoKeyVersionTemplateOutputWithContext(ctx context.Context) GetKMSCryptoKeyVersionTemplateOutput
- type GetKMSKeyRingArgs
- type GetKMSKeyRingOutputArgs
- type GetKMSKeyRingResult
- type GetKMSKeyRingResultOutput
- func (GetKMSKeyRingResultOutput) ElementType() reflect.Type
- func (o GetKMSKeyRingResultOutput) Id() pulumi.StringOutput
- func (o GetKMSKeyRingResultOutput) Location() pulumi.StringOutput
- func (o GetKMSKeyRingResultOutput) Name() pulumi.StringOutput
- func (o GetKMSKeyRingResultOutput) Project() pulumi.StringPtrOutput
- func (o GetKMSKeyRingResultOutput) ToGetKMSKeyRingResultOutput() GetKMSKeyRingResultOutput
- func (o GetKMSKeyRingResultOutput) ToGetKMSKeyRingResultOutputWithContext(ctx context.Context) GetKMSKeyRingResultOutput
- type GetKMSSecretArgs
- type GetKMSSecretAsymmetricArgs
- type GetKMSSecretAsymmetricOutputArgs
- type GetKMSSecretAsymmetricResult
- type GetKMSSecretAsymmetricResultOutput
- func (o GetKMSSecretAsymmetricResultOutput) Ciphertext() pulumi.StringOutput
- func (o GetKMSSecretAsymmetricResultOutput) Crc32() pulumi.StringPtrOutput
- func (o GetKMSSecretAsymmetricResultOutput) CryptoKeyVersion() pulumi.StringOutput
- func (GetKMSSecretAsymmetricResultOutput) ElementType() reflect.Type
- func (o GetKMSSecretAsymmetricResultOutput) Id() pulumi.StringOutput
- func (o GetKMSSecretAsymmetricResultOutput) Plaintext() pulumi.StringOutput
- func (o GetKMSSecretAsymmetricResultOutput) ToGetKMSSecretAsymmetricResultOutput() GetKMSSecretAsymmetricResultOutput
- func (o GetKMSSecretAsymmetricResultOutput) ToGetKMSSecretAsymmetricResultOutputWithContext(ctx context.Context) GetKMSSecretAsymmetricResultOutput
- type GetKMSSecretCiphertextArgs
- type GetKMSSecretCiphertextOutputArgs
- type GetKMSSecretCiphertextResult
- type GetKMSSecretCiphertextResultOutput
- func (o GetKMSSecretCiphertextResultOutput) Ciphertext() pulumi.StringOutput
- func (o GetKMSSecretCiphertextResultOutput) CryptoKey() pulumi.StringOutput
- func (GetKMSSecretCiphertextResultOutput) ElementType() reflect.Type
- func (o GetKMSSecretCiphertextResultOutput) Id() pulumi.StringOutput
- func (o GetKMSSecretCiphertextResultOutput) Plaintext() pulumi.StringOutput
- func (o GetKMSSecretCiphertextResultOutput) ToGetKMSSecretCiphertextResultOutput() GetKMSSecretCiphertextResultOutput
- func (o GetKMSSecretCiphertextResultOutput) ToGetKMSSecretCiphertextResultOutputWithContext(ctx context.Context) GetKMSSecretCiphertextResultOutput
- type GetKMSSecretOutputArgs
- type GetKMSSecretResult
- type GetKMSSecretResultOutput
- func (o GetKMSSecretResultOutput) AdditionalAuthenticatedData() pulumi.StringPtrOutput
- func (o GetKMSSecretResultOutput) Ciphertext() pulumi.StringOutput
- func (o GetKMSSecretResultOutput) CryptoKey() pulumi.StringOutput
- func (GetKMSSecretResultOutput) ElementType() reflect.Type
- func (o GetKMSSecretResultOutput) Id() pulumi.StringOutput
- func (o GetKMSSecretResultOutput) Plaintext() pulumi.StringOutput
- func (o GetKMSSecretResultOutput) ToGetKMSSecretResultOutput() GetKMSSecretResultOutput
- func (o GetKMSSecretResultOutput) ToGetKMSSecretResultOutputWithContext(ctx context.Context) GetKMSSecretResultOutput
- type KeyRing
- type KeyRingArgs
- type KeyRingArray
- type KeyRingArrayInput
- type KeyRingArrayOutput
- type KeyRingIAMBinding
- type KeyRingIAMBindingArgs
- type KeyRingIAMBindingArray
- type KeyRingIAMBindingArrayInput
- type KeyRingIAMBindingArrayOutput
- func (KeyRingIAMBindingArrayOutput) ElementType() reflect.Type
- func (o KeyRingIAMBindingArrayOutput) Index(i pulumi.IntInput) KeyRingIAMBindingOutput
- func (o KeyRingIAMBindingArrayOutput) ToKeyRingIAMBindingArrayOutput() KeyRingIAMBindingArrayOutput
- func (o KeyRingIAMBindingArrayOutput) ToKeyRingIAMBindingArrayOutputWithContext(ctx context.Context) KeyRingIAMBindingArrayOutput
- type KeyRingIAMBindingCondition
- type KeyRingIAMBindingConditionArgs
- func (KeyRingIAMBindingConditionArgs) ElementType() reflect.Type
- func (i KeyRingIAMBindingConditionArgs) ToKeyRingIAMBindingConditionOutput() KeyRingIAMBindingConditionOutput
- func (i KeyRingIAMBindingConditionArgs) ToKeyRingIAMBindingConditionOutputWithContext(ctx context.Context) KeyRingIAMBindingConditionOutput
- func (i KeyRingIAMBindingConditionArgs) ToKeyRingIAMBindingConditionPtrOutput() KeyRingIAMBindingConditionPtrOutput
- func (i KeyRingIAMBindingConditionArgs) ToKeyRingIAMBindingConditionPtrOutputWithContext(ctx context.Context) KeyRingIAMBindingConditionPtrOutput
- type KeyRingIAMBindingConditionInput
- type KeyRingIAMBindingConditionOutput
- func (o KeyRingIAMBindingConditionOutput) Description() pulumi.StringPtrOutput
- func (KeyRingIAMBindingConditionOutput) ElementType() reflect.Type
- func (o KeyRingIAMBindingConditionOutput) Expression() pulumi.StringOutput
- func (o KeyRingIAMBindingConditionOutput) Title() pulumi.StringOutput
- func (o KeyRingIAMBindingConditionOutput) ToKeyRingIAMBindingConditionOutput() KeyRingIAMBindingConditionOutput
- func (o KeyRingIAMBindingConditionOutput) ToKeyRingIAMBindingConditionOutputWithContext(ctx context.Context) KeyRingIAMBindingConditionOutput
- func (o KeyRingIAMBindingConditionOutput) ToKeyRingIAMBindingConditionPtrOutput() KeyRingIAMBindingConditionPtrOutput
- func (o KeyRingIAMBindingConditionOutput) ToKeyRingIAMBindingConditionPtrOutputWithContext(ctx context.Context) KeyRingIAMBindingConditionPtrOutput
- type KeyRingIAMBindingConditionPtrInput
- type KeyRingIAMBindingConditionPtrOutput
- func (o KeyRingIAMBindingConditionPtrOutput) Description() pulumi.StringPtrOutput
- func (o KeyRingIAMBindingConditionPtrOutput) Elem() KeyRingIAMBindingConditionOutput
- func (KeyRingIAMBindingConditionPtrOutput) ElementType() reflect.Type
- func (o KeyRingIAMBindingConditionPtrOutput) Expression() pulumi.StringPtrOutput
- func (o KeyRingIAMBindingConditionPtrOutput) Title() pulumi.StringPtrOutput
- func (o KeyRingIAMBindingConditionPtrOutput) ToKeyRingIAMBindingConditionPtrOutput() KeyRingIAMBindingConditionPtrOutput
- func (o KeyRingIAMBindingConditionPtrOutput) ToKeyRingIAMBindingConditionPtrOutputWithContext(ctx context.Context) KeyRingIAMBindingConditionPtrOutput
- type KeyRingIAMBindingInput
- type KeyRingIAMBindingMap
- type KeyRingIAMBindingMapInput
- type KeyRingIAMBindingMapOutput
- func (KeyRingIAMBindingMapOutput) ElementType() reflect.Type
- func (o KeyRingIAMBindingMapOutput) MapIndex(k pulumi.StringInput) KeyRingIAMBindingOutput
- func (o KeyRingIAMBindingMapOutput) ToKeyRingIAMBindingMapOutput() KeyRingIAMBindingMapOutput
- func (o KeyRingIAMBindingMapOutput) ToKeyRingIAMBindingMapOutputWithContext(ctx context.Context) KeyRingIAMBindingMapOutput
- type KeyRingIAMBindingOutput
- type KeyRingIAMBindingState
- type KeyRingIAMMember
- type KeyRingIAMMemberArgs
- type KeyRingIAMMemberArray
- type KeyRingIAMMemberArrayInput
- type KeyRingIAMMemberArrayOutput
- func (KeyRingIAMMemberArrayOutput) ElementType() reflect.Type
- func (o KeyRingIAMMemberArrayOutput) Index(i pulumi.IntInput) KeyRingIAMMemberOutput
- func (o KeyRingIAMMemberArrayOutput) ToKeyRingIAMMemberArrayOutput() KeyRingIAMMemberArrayOutput
- func (o KeyRingIAMMemberArrayOutput) ToKeyRingIAMMemberArrayOutputWithContext(ctx context.Context) KeyRingIAMMemberArrayOutput
- type KeyRingIAMMemberCondition
- type KeyRingIAMMemberConditionArgs
- func (KeyRingIAMMemberConditionArgs) ElementType() reflect.Type
- func (i KeyRingIAMMemberConditionArgs) ToKeyRingIAMMemberConditionOutput() KeyRingIAMMemberConditionOutput
- func (i KeyRingIAMMemberConditionArgs) ToKeyRingIAMMemberConditionOutputWithContext(ctx context.Context) KeyRingIAMMemberConditionOutput
- func (i KeyRingIAMMemberConditionArgs) ToKeyRingIAMMemberConditionPtrOutput() KeyRingIAMMemberConditionPtrOutput
- func (i KeyRingIAMMemberConditionArgs) ToKeyRingIAMMemberConditionPtrOutputWithContext(ctx context.Context) KeyRingIAMMemberConditionPtrOutput
- type KeyRingIAMMemberConditionInput
- type KeyRingIAMMemberConditionOutput
- func (o KeyRingIAMMemberConditionOutput) Description() pulumi.StringPtrOutput
- func (KeyRingIAMMemberConditionOutput) ElementType() reflect.Type
- func (o KeyRingIAMMemberConditionOutput) Expression() pulumi.StringOutput
- func (o KeyRingIAMMemberConditionOutput) Title() pulumi.StringOutput
- func (o KeyRingIAMMemberConditionOutput) ToKeyRingIAMMemberConditionOutput() KeyRingIAMMemberConditionOutput
- func (o KeyRingIAMMemberConditionOutput) ToKeyRingIAMMemberConditionOutputWithContext(ctx context.Context) KeyRingIAMMemberConditionOutput
- func (o KeyRingIAMMemberConditionOutput) ToKeyRingIAMMemberConditionPtrOutput() KeyRingIAMMemberConditionPtrOutput
- func (o KeyRingIAMMemberConditionOutput) ToKeyRingIAMMemberConditionPtrOutputWithContext(ctx context.Context) KeyRingIAMMemberConditionPtrOutput
- type KeyRingIAMMemberConditionPtrInput
- type KeyRingIAMMemberConditionPtrOutput
- func (o KeyRingIAMMemberConditionPtrOutput) Description() pulumi.StringPtrOutput
- func (o KeyRingIAMMemberConditionPtrOutput) Elem() KeyRingIAMMemberConditionOutput
- func (KeyRingIAMMemberConditionPtrOutput) ElementType() reflect.Type
- func (o KeyRingIAMMemberConditionPtrOutput) Expression() pulumi.StringPtrOutput
- func (o KeyRingIAMMemberConditionPtrOutput) Title() pulumi.StringPtrOutput
- func (o KeyRingIAMMemberConditionPtrOutput) ToKeyRingIAMMemberConditionPtrOutput() KeyRingIAMMemberConditionPtrOutput
- func (o KeyRingIAMMemberConditionPtrOutput) ToKeyRingIAMMemberConditionPtrOutputWithContext(ctx context.Context) KeyRingIAMMemberConditionPtrOutput
- type KeyRingIAMMemberInput
- type KeyRingIAMMemberMap
- type KeyRingIAMMemberMapInput
- type KeyRingIAMMemberMapOutput
- func (KeyRingIAMMemberMapOutput) ElementType() reflect.Type
- func (o KeyRingIAMMemberMapOutput) MapIndex(k pulumi.StringInput) KeyRingIAMMemberOutput
- func (o KeyRingIAMMemberMapOutput) ToKeyRingIAMMemberMapOutput() KeyRingIAMMemberMapOutput
- func (o KeyRingIAMMemberMapOutput) ToKeyRingIAMMemberMapOutputWithContext(ctx context.Context) KeyRingIAMMemberMapOutput
- type KeyRingIAMMemberOutput
- type KeyRingIAMMemberState
- type KeyRingIAMPolicy
- type KeyRingIAMPolicyArgs
- type KeyRingIAMPolicyArray
- type KeyRingIAMPolicyArrayInput
- type KeyRingIAMPolicyArrayOutput
- func (KeyRingIAMPolicyArrayOutput) ElementType() reflect.Type
- func (o KeyRingIAMPolicyArrayOutput) Index(i pulumi.IntInput) KeyRingIAMPolicyOutput
- func (o KeyRingIAMPolicyArrayOutput) ToKeyRingIAMPolicyArrayOutput() KeyRingIAMPolicyArrayOutput
- func (o KeyRingIAMPolicyArrayOutput) ToKeyRingIAMPolicyArrayOutputWithContext(ctx context.Context) KeyRingIAMPolicyArrayOutput
- type KeyRingIAMPolicyInput
- type KeyRingIAMPolicyMap
- type KeyRingIAMPolicyMapInput
- type KeyRingIAMPolicyMapOutput
- func (KeyRingIAMPolicyMapOutput) ElementType() reflect.Type
- func (o KeyRingIAMPolicyMapOutput) MapIndex(k pulumi.StringInput) KeyRingIAMPolicyOutput
- func (o KeyRingIAMPolicyMapOutput) ToKeyRingIAMPolicyMapOutput() KeyRingIAMPolicyMapOutput
- func (o KeyRingIAMPolicyMapOutput) ToKeyRingIAMPolicyMapOutputWithContext(ctx context.Context) KeyRingIAMPolicyMapOutput
- type KeyRingIAMPolicyOutput
- type KeyRingIAMPolicyState
- type KeyRingImportJob
- type KeyRingImportJobArgs
- type KeyRingImportJobArray
- type KeyRingImportJobArrayInput
- type KeyRingImportJobArrayOutput
- func (KeyRingImportJobArrayOutput) ElementType() reflect.Type
- func (o KeyRingImportJobArrayOutput) Index(i pulumi.IntInput) KeyRingImportJobOutput
- func (o KeyRingImportJobArrayOutput) ToKeyRingImportJobArrayOutput() KeyRingImportJobArrayOutput
- func (o KeyRingImportJobArrayOutput) ToKeyRingImportJobArrayOutputWithContext(ctx context.Context) KeyRingImportJobArrayOutput
- type KeyRingImportJobAttestation
- type KeyRingImportJobAttestationArgs
- func (KeyRingImportJobAttestationArgs) ElementType() reflect.Type
- func (i KeyRingImportJobAttestationArgs) ToKeyRingImportJobAttestationOutput() KeyRingImportJobAttestationOutput
- func (i KeyRingImportJobAttestationArgs) ToKeyRingImportJobAttestationOutputWithContext(ctx context.Context) KeyRingImportJobAttestationOutput
- type KeyRingImportJobAttestationArray
- func (KeyRingImportJobAttestationArray) ElementType() reflect.Type
- func (i KeyRingImportJobAttestationArray) ToKeyRingImportJobAttestationArrayOutput() KeyRingImportJobAttestationArrayOutput
- func (i KeyRingImportJobAttestationArray) ToKeyRingImportJobAttestationArrayOutputWithContext(ctx context.Context) KeyRingImportJobAttestationArrayOutput
- type KeyRingImportJobAttestationArrayInput
- type KeyRingImportJobAttestationArrayOutput
- func (KeyRingImportJobAttestationArrayOutput) ElementType() reflect.Type
- func (o KeyRingImportJobAttestationArrayOutput) Index(i pulumi.IntInput) KeyRingImportJobAttestationOutput
- func (o KeyRingImportJobAttestationArrayOutput) ToKeyRingImportJobAttestationArrayOutput() KeyRingImportJobAttestationArrayOutput
- func (o KeyRingImportJobAttestationArrayOutput) ToKeyRingImportJobAttestationArrayOutputWithContext(ctx context.Context) KeyRingImportJobAttestationArrayOutput
- type KeyRingImportJobAttestationInput
- type KeyRingImportJobAttestationOutput
- func (o KeyRingImportJobAttestationOutput) Content() pulumi.StringPtrOutput
- func (KeyRingImportJobAttestationOutput) ElementType() reflect.Type
- func (o KeyRingImportJobAttestationOutput) Format() pulumi.StringPtrOutput
- func (o KeyRingImportJobAttestationOutput) ToKeyRingImportJobAttestationOutput() KeyRingImportJobAttestationOutput
- func (o KeyRingImportJobAttestationOutput) ToKeyRingImportJobAttestationOutputWithContext(ctx context.Context) KeyRingImportJobAttestationOutput
- type KeyRingImportJobInput
- type KeyRingImportJobMap
- type KeyRingImportJobMapInput
- type KeyRingImportJobMapOutput
- func (KeyRingImportJobMapOutput) ElementType() reflect.Type
- func (o KeyRingImportJobMapOutput) MapIndex(k pulumi.StringInput) KeyRingImportJobOutput
- func (o KeyRingImportJobMapOutput) ToKeyRingImportJobMapOutput() KeyRingImportJobMapOutput
- func (o KeyRingImportJobMapOutput) ToKeyRingImportJobMapOutputWithContext(ctx context.Context) KeyRingImportJobMapOutput
- type KeyRingImportJobOutput
- type KeyRingImportJobPublicKey
- type KeyRingImportJobPublicKeyArgs
- func (KeyRingImportJobPublicKeyArgs) ElementType() reflect.Type
- func (i KeyRingImportJobPublicKeyArgs) ToKeyRingImportJobPublicKeyOutput() KeyRingImportJobPublicKeyOutput
- func (i KeyRingImportJobPublicKeyArgs) ToKeyRingImportJobPublicKeyOutputWithContext(ctx context.Context) KeyRingImportJobPublicKeyOutput
- type KeyRingImportJobPublicKeyArray
- func (KeyRingImportJobPublicKeyArray) ElementType() reflect.Type
- func (i KeyRingImportJobPublicKeyArray) ToKeyRingImportJobPublicKeyArrayOutput() KeyRingImportJobPublicKeyArrayOutput
- func (i KeyRingImportJobPublicKeyArray) ToKeyRingImportJobPublicKeyArrayOutputWithContext(ctx context.Context) KeyRingImportJobPublicKeyArrayOutput
- type KeyRingImportJobPublicKeyArrayInput
- type KeyRingImportJobPublicKeyArrayOutput
- func (KeyRingImportJobPublicKeyArrayOutput) ElementType() reflect.Type
- func (o KeyRingImportJobPublicKeyArrayOutput) Index(i pulumi.IntInput) KeyRingImportJobPublicKeyOutput
- func (o KeyRingImportJobPublicKeyArrayOutput) ToKeyRingImportJobPublicKeyArrayOutput() KeyRingImportJobPublicKeyArrayOutput
- func (o KeyRingImportJobPublicKeyArrayOutput) ToKeyRingImportJobPublicKeyArrayOutputWithContext(ctx context.Context) KeyRingImportJobPublicKeyArrayOutput
- type KeyRingImportJobPublicKeyInput
- type KeyRingImportJobPublicKeyOutput
- func (KeyRingImportJobPublicKeyOutput) ElementType() reflect.Type
- func (o KeyRingImportJobPublicKeyOutput) Pem() pulumi.StringPtrOutput
- func (o KeyRingImportJobPublicKeyOutput) ToKeyRingImportJobPublicKeyOutput() KeyRingImportJobPublicKeyOutput
- func (o KeyRingImportJobPublicKeyOutput) ToKeyRingImportJobPublicKeyOutputWithContext(ctx context.Context) KeyRingImportJobPublicKeyOutput
- type KeyRingImportJobState
- type KeyRingInput
- type KeyRingMap
- type KeyRingMapInput
- type KeyRingMapOutput
- type KeyRingOutput
- type KeyRingState
- type Registrydeprecated
- type RegistryArgs
- type RegistryArray
- type RegistryArrayInput
- type RegistryArrayOutput
- type RegistryCredential
- type RegistryCredentialArgs
- type RegistryCredentialArray
- type RegistryCredentialArrayInput
- type RegistryCredentialArrayOutput
- func (RegistryCredentialArrayOutput) ElementType() reflect.Type
- func (o RegistryCredentialArrayOutput) Index(i pulumi.IntInput) RegistryCredentialOutput
- func (o RegistryCredentialArrayOutput) ToRegistryCredentialArrayOutput() RegistryCredentialArrayOutput
- func (o RegistryCredentialArrayOutput) ToRegistryCredentialArrayOutputWithContext(ctx context.Context) RegistryCredentialArrayOutput
- type RegistryCredentialInput
- type RegistryCredentialOutput
- func (RegistryCredentialOutput) ElementType() reflect.Type
- func (o RegistryCredentialOutput) PublicKeyCertificate() pulumi.MapOutput
- func (o RegistryCredentialOutput) ToRegistryCredentialOutput() RegistryCredentialOutput
- func (o RegistryCredentialOutput) ToRegistryCredentialOutputWithContext(ctx context.Context) RegistryCredentialOutput
- type RegistryEventNotificationConfigItem
- type RegistryEventNotificationConfigItemArgs
- func (RegistryEventNotificationConfigItemArgs) ElementType() reflect.Type
- func (i RegistryEventNotificationConfigItemArgs) ToRegistryEventNotificationConfigItemOutput() RegistryEventNotificationConfigItemOutput
- func (i RegistryEventNotificationConfigItemArgs) ToRegistryEventNotificationConfigItemOutputWithContext(ctx context.Context) RegistryEventNotificationConfigItemOutput
- type RegistryEventNotificationConfigItemArray
- func (RegistryEventNotificationConfigItemArray) ElementType() reflect.Type
- func (i RegistryEventNotificationConfigItemArray) ToRegistryEventNotificationConfigItemArrayOutput() RegistryEventNotificationConfigItemArrayOutput
- func (i RegistryEventNotificationConfigItemArray) ToRegistryEventNotificationConfigItemArrayOutputWithContext(ctx context.Context) RegistryEventNotificationConfigItemArrayOutput
- type RegistryEventNotificationConfigItemArrayInput
- type RegistryEventNotificationConfigItemArrayOutput
- func (RegistryEventNotificationConfigItemArrayOutput) ElementType() reflect.Type
- func (o RegistryEventNotificationConfigItemArrayOutput) Index(i pulumi.IntInput) RegistryEventNotificationConfigItemOutput
- func (o RegistryEventNotificationConfigItemArrayOutput) ToRegistryEventNotificationConfigItemArrayOutput() RegistryEventNotificationConfigItemArrayOutput
- func (o RegistryEventNotificationConfigItemArrayOutput) ToRegistryEventNotificationConfigItemArrayOutputWithContext(ctx context.Context) RegistryEventNotificationConfigItemArrayOutput
- type RegistryEventNotificationConfigItemInput
- type RegistryEventNotificationConfigItemOutput
- func (RegistryEventNotificationConfigItemOutput) ElementType() reflect.Type
- func (o RegistryEventNotificationConfigItemOutput) PubsubTopicName() pulumi.StringOutput
- func (o RegistryEventNotificationConfigItemOutput) SubfolderMatches() pulumi.StringPtrOutput
- func (o RegistryEventNotificationConfigItemOutput) ToRegistryEventNotificationConfigItemOutput() RegistryEventNotificationConfigItemOutput
- func (o RegistryEventNotificationConfigItemOutput) ToRegistryEventNotificationConfigItemOutputWithContext(ctx context.Context) RegistryEventNotificationConfigItemOutput
- type RegistryInput
- type RegistryMap
- type RegistryMapInput
- type RegistryMapOutput
- type RegistryOutput
- type RegistryState
- type SecretCiphertext
- type SecretCiphertextArgs
- type SecretCiphertextArray
- type SecretCiphertextArrayInput
- type SecretCiphertextArrayOutput
- func (SecretCiphertextArrayOutput) ElementType() reflect.Type
- func (o SecretCiphertextArrayOutput) Index(i pulumi.IntInput) SecretCiphertextOutput
- func (o SecretCiphertextArrayOutput) ToSecretCiphertextArrayOutput() SecretCiphertextArrayOutput
- func (o SecretCiphertextArrayOutput) ToSecretCiphertextArrayOutputWithContext(ctx context.Context) SecretCiphertextArrayOutput
- type SecretCiphertextInput
- type SecretCiphertextMap
- type SecretCiphertextMapInput
- type SecretCiphertextMapOutput
- func (SecretCiphertextMapOutput) ElementType() reflect.Type
- func (o SecretCiphertextMapOutput) MapIndex(k pulumi.StringInput) SecretCiphertextOutput
- func (o SecretCiphertextMapOutput) ToSecretCiphertextMapOutput() SecretCiphertextMapOutput
- func (o SecretCiphertextMapOutput) ToSecretCiphertextMapOutputWithContext(ctx context.Context) SecretCiphertextMapOutput
- type SecretCiphertextOutput
- type SecretCiphertextState
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CryptoKey ¶
type CryptoKey struct { pulumi.CustomResourceState // The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED. // If not specified at creation time, the default duration is 24 hours. DestroyScheduledDuration pulumi.StringOutput `pulumi:"destroyScheduledDuration"` // Whether this key may contain imported versions only. ImportOnly pulumi.BoolOutput `pulumi:"importOnly"` // The KeyRing that this key belongs to. // Format: `'projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}'`. KeyRing pulumi.StringOutput `pulumi:"keyRing"` // Labels with user-defined metadata to apply to this resource. Labels pulumi.StringMapOutput `pulumi:"labels"` // The resource name for the CryptoKey. Name pulumi.StringOutput `pulumi:"name"` // The immutable purpose of this CryptoKey. See the // [purpose reference](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys#CryptoKeyPurpose) // for possible inputs. // Default value is `ENCRYPT_DECRYPT`. // Possible values are `ENCRYPT_DECRYPT`, `ASYMMETRIC_SIGN`, and `ASYMMETRIC_DECRYPT`. Purpose pulumi.StringPtrOutput `pulumi:"purpose"` // Every time this period passes, generate a new CryptoKeyVersion and set it as the primary. // The first rotation will take place after the specified period. The rotation period has // the format of a decimal number with up to 9 fractional digits, followed by the // letter `s` (seconds). It must be greater than a day (ie, 86400). RotationPeriod pulumi.StringPtrOutput `pulumi:"rotationPeriod"` // If set to true, the request will create a CryptoKey without any CryptoKeyVersions. // You must use the `kms.KeyRingImportJob` resource to import the CryptoKeyVersion. SkipInitialVersionCreation pulumi.BoolPtrOutput `pulumi:"skipInitialVersionCreation"` // A template describing settings for new crypto key versions. // Structure is documented below. VersionTemplate CryptoKeyVersionTemplateOutput `pulumi:"versionTemplate"` }
A `CryptoKey` represents a logical key that can be used for cryptographic operations.
> **Note:** CryptoKeys cannot be deleted from Google Cloud Platform. Destroying a provider-managed CryptoKey will remove it from state and delete all CryptoKeyVersions, rendering the key unusable, but *will not delete the resource from the project.* When the provider destroys these keys, any data previously encrypted with these keys will be irrecoverable. For this reason, it is strongly recommended that you add lifecycle hooks to the resource to prevent accidental destruction.
To get more information about CryptoKey, see:
* [API documentation](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys) * How-to Guides
- [Creating a key](https://cloud.google.com/kms/docs/creating-keys#create_a_key)
## Example Usage ### Kms Crypto Key Basic
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { keyring, err := kms.NewKeyRing(ctx, "keyring", &kms.KeyRingArgs{ Location: pulumi.String("global"), }) if err != nil { return err } _, err = kms.NewCryptoKey(ctx, "example-key", &kms.CryptoKeyArgs{ KeyRing: keyring.ID(), RotationPeriod: pulumi.String("100000s"), }) if err != nil { return err } return nil }) }
``` ### Kms Crypto Key Asymmetric Sign
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { keyring, err := kms.NewKeyRing(ctx, "keyring", &kms.KeyRingArgs{ Location: pulumi.String("global"), }) if err != nil { return err } _, err = kms.NewCryptoKey(ctx, "example-asymmetric-sign-key", &kms.CryptoKeyArgs{ KeyRing: keyring.ID(), Purpose: pulumi.String("ASYMMETRIC_SIGN"), VersionTemplate: &kms.CryptoKeyVersionTemplateArgs{ Algorithm: pulumi.String("EC_SIGN_P384_SHA384"), }, }) if err != nil { return err } return nil }) }
```
## Import
CryptoKey can be imported using any of these accepted formats ¶
```sh
$ pulumi import gcp:kms/cryptoKey:CryptoKey default {{key_ring}}/cryptoKeys/{{name}}
```
```sh
$ pulumi import gcp:kms/cryptoKey:CryptoKey default {{key_ring}}/{{name}}
```
func GetCryptoKey ¶
func GetCryptoKey(ctx *pulumi.Context, name string, id pulumi.IDInput, state *CryptoKeyState, opts ...pulumi.ResourceOption) (*CryptoKey, error)
GetCryptoKey gets an existing CryptoKey resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewCryptoKey ¶
func NewCryptoKey(ctx *pulumi.Context, name string, args *CryptoKeyArgs, opts ...pulumi.ResourceOption) (*CryptoKey, error)
NewCryptoKey registers a new resource with the given unique name, arguments, and options.
func (*CryptoKey) ElementType ¶
func (*CryptoKey) ToCryptoKeyOutput ¶
func (i *CryptoKey) ToCryptoKeyOutput() CryptoKeyOutput
func (*CryptoKey) ToCryptoKeyOutputWithContext ¶
func (i *CryptoKey) ToCryptoKeyOutputWithContext(ctx context.Context) CryptoKeyOutput
type CryptoKeyArgs ¶
type CryptoKeyArgs struct { // The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED. // If not specified at creation time, the default duration is 24 hours. DestroyScheduledDuration pulumi.StringPtrInput // Whether this key may contain imported versions only. ImportOnly pulumi.BoolPtrInput // The KeyRing that this key belongs to. // Format: `'projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}'`. KeyRing pulumi.StringInput // Labels with user-defined metadata to apply to this resource. Labels pulumi.StringMapInput // The resource name for the CryptoKey. Name pulumi.StringPtrInput // The immutable purpose of this CryptoKey. See the // [purpose reference](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys#CryptoKeyPurpose) // for possible inputs. // Default value is `ENCRYPT_DECRYPT`. // Possible values are `ENCRYPT_DECRYPT`, `ASYMMETRIC_SIGN`, and `ASYMMETRIC_DECRYPT`. Purpose pulumi.StringPtrInput // Every time this period passes, generate a new CryptoKeyVersion and set it as the primary. // The first rotation will take place after the specified period. The rotation period has // the format of a decimal number with up to 9 fractional digits, followed by the // letter `s` (seconds). It must be greater than a day (ie, 86400). RotationPeriod pulumi.StringPtrInput // If set to true, the request will create a CryptoKey without any CryptoKeyVersions. // You must use the `kms.KeyRingImportJob` resource to import the CryptoKeyVersion. SkipInitialVersionCreation pulumi.BoolPtrInput // A template describing settings for new crypto key versions. // Structure is documented below. VersionTemplate CryptoKeyVersionTemplatePtrInput }
The set of arguments for constructing a CryptoKey resource.
func (CryptoKeyArgs) ElementType ¶
func (CryptoKeyArgs) ElementType() reflect.Type
type CryptoKeyArray ¶
type CryptoKeyArray []CryptoKeyInput
func (CryptoKeyArray) ElementType ¶
func (CryptoKeyArray) ElementType() reflect.Type
func (CryptoKeyArray) ToCryptoKeyArrayOutput ¶
func (i CryptoKeyArray) ToCryptoKeyArrayOutput() CryptoKeyArrayOutput
func (CryptoKeyArray) ToCryptoKeyArrayOutputWithContext ¶
func (i CryptoKeyArray) ToCryptoKeyArrayOutputWithContext(ctx context.Context) CryptoKeyArrayOutput
type CryptoKeyArrayInput ¶
type CryptoKeyArrayInput interface { pulumi.Input ToCryptoKeyArrayOutput() CryptoKeyArrayOutput ToCryptoKeyArrayOutputWithContext(context.Context) CryptoKeyArrayOutput }
CryptoKeyArrayInput is an input type that accepts CryptoKeyArray and CryptoKeyArrayOutput values. You can construct a concrete instance of `CryptoKeyArrayInput` via:
CryptoKeyArray{ CryptoKeyArgs{...} }
type CryptoKeyArrayOutput ¶
type CryptoKeyArrayOutput struct{ *pulumi.OutputState }
func (CryptoKeyArrayOutput) ElementType ¶
func (CryptoKeyArrayOutput) ElementType() reflect.Type
func (CryptoKeyArrayOutput) Index ¶
func (o CryptoKeyArrayOutput) Index(i pulumi.IntInput) CryptoKeyOutput
func (CryptoKeyArrayOutput) ToCryptoKeyArrayOutput ¶
func (o CryptoKeyArrayOutput) ToCryptoKeyArrayOutput() CryptoKeyArrayOutput
func (CryptoKeyArrayOutput) ToCryptoKeyArrayOutputWithContext ¶
func (o CryptoKeyArrayOutput) ToCryptoKeyArrayOutputWithContext(ctx context.Context) CryptoKeyArrayOutput
type CryptoKeyIAMBinding ¶
type CryptoKeyIAMBinding struct { pulumi.CustomResourceState // ) An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding. // Structure is documented below. Condition CryptoKeyIAMBindingConditionPtrOutput `pulumi:"condition"` // The crypto key ID, in the form // `{project_id}/{location_name}/{key_ring_name}/{crypto_key_name}` or // `{location_name}/{key_ring_name}/{crypto_key_name}`. In the second form, // the provider's project setting will be used as a fallback. CryptoKeyId pulumi.StringOutput `pulumi:"cryptoKeyId"` // (Computed) The etag of the project's IAM policy. Etag pulumi.StringOutput `pulumi:"etag"` Members pulumi.StringArrayOutput `pulumi:"members"` // The role that should be applied. Note that custom roles must be of the format // `[projects|organizations]/{parent-name}/roles/{role-name}`. Role pulumi.StringOutput `pulumi:"role"` }
Three different resources help you manage your IAM policy for KMS crypto key. Each of these resources serves a different use case:
* `kms.CryptoKeyIAMPolicy`: Authoritative. Sets the IAM policy for the crypto key and replaces any existing policy already attached. * `kms.CryptoKeyIAMBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the crypto key are preserved. * `kms.CryptoKeyIAMMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the crypto key are preserved.
> **Note:** `kms.CryptoKeyIAMPolicy` **cannot** be used in conjunction with `kms.CryptoKeyIAMBinding` and `kms.CryptoKeyIAMMember` or they will fight over what your policy should be.
> **Note:** `kms.CryptoKeyIAMBinding` resources **can be** used in conjunction with `kms.CryptoKeyIAMMember` resources **only if** they do not grant privilege to the same role.
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { keyring, err := kms.NewKeyRing(ctx, "keyring", &kms.KeyRingArgs{ Location: pulumi.String("global"), }) if err != nil { return err } key, err := kms.NewCryptoKey(ctx, "key", &kms.CryptoKeyArgs{ KeyRing: keyring.ID(), RotationPeriod: pulumi.String("100000s"), }) if err != nil { return err } admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{ Bindings: []organizations.GetIAMPolicyBinding{ organizations.GetIAMPolicyBinding{ Role: "roles/cloudkms.cryptoKeyEncrypter", Members: []string{ "user:jane@example.com", }, }, }, }, nil) if err != nil { return err } _, err = kms.NewCryptoKeyIAMPolicy(ctx, "cryptoKey", &kms.CryptoKeyIAMPolicyArgs{ CryptoKeyId: key.ID(), PolicyData: pulumi.String(admin.PolicyData), }) if err != nil { return err } return nil }) }
```
With IAM Conditions:
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{ Bindings: []organizations.GetIAMPolicyBinding{ organizations.GetIAMPolicyBinding{ Condition: organizations.GetIAMPolicyBindingCondition{ Description: pulumi.StringRef("Expiring at midnight of 2019-12-31"), Expression: "request.time < timestamp(\"2020-01-01T00:00:00Z\")", Title: "expires_after_2019_12_31", }, Members: []string{ "user:jane@example.com", }, Role: "roles/cloudkms.cryptoKeyEncrypter", }, }, }, nil) if err != nil { return err } return nil }) }
```
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := kms.NewCryptoKeyIAMBinding(ctx, "cryptoKey", &kms.CryptoKeyIAMBindingArgs{ CryptoKeyId: pulumi.Any(google_kms_crypto_key.Key.Id), Role: pulumi.String("roles/cloudkms.cryptoKeyEncrypter"), Members: pulumi.StringArray{ pulumi.String("user:jane@example.com"), }, }) if err != nil { return err } return nil }) }
```
With IAM Conditions:
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := kms.NewCryptoKeyIAMBinding(ctx, "cryptoKey", &kms.CryptoKeyIAMBindingArgs{ CryptoKeyId: pulumi.Any(google_kms_crypto_key.Key.Id), Role: pulumi.String("roles/cloudkms.cryptoKeyEncrypter"), Members: pulumi.StringArray{ pulumi.String("user:jane@example.com"), }, Condition: &kms.CryptoKeyIAMBindingConditionArgs{ Title: pulumi.String("expires_after_2019_12_31"), Description: pulumi.String("Expiring at midnight of 2019-12-31"), Expression: pulumi.String("request.time < timestamp(\"2020-01-01T00:00:00Z\")"), }, }) if err != nil { return err } return nil }) }
```
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := kms.NewCryptoKeyIAMMember(ctx, "cryptoKey", &kms.CryptoKeyIAMMemberArgs{ CryptoKeyId: pulumi.Any(google_kms_crypto_key.Key.Id), Role: pulumi.String("roles/cloudkms.cryptoKeyEncrypter"), Member: pulumi.String("user:jane@example.com"), }) if err != nil { return err } return nil }) }
```
With IAM Conditions:
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := kms.NewCryptoKeyIAMMember(ctx, "cryptoKey", &kms.CryptoKeyIAMMemberArgs{ CryptoKeyId: pulumi.Any(google_kms_crypto_key.Key.Id), Role: pulumi.String("roles/cloudkms.cryptoKeyEncrypter"), Member: pulumi.String("user:jane@example.com"), Condition: &kms.CryptoKeyIAMMemberConditionArgs{ Title: pulumi.String("expires_after_2019_12_31"), Description: pulumi.String("Expiring at midnight of 2019-12-31"), Expression: pulumi.String("request.time < timestamp(\"2020-01-01T00:00:00Z\")"), }, }) if err != nil { return err } return nil }) }
```
## Import
IAM member imports use space-delimited identifiers; the resource in question, the role, and the account.
This member resource can be imported using the `crypto_key_id`, role, and member identity e.g.
```sh
$ pulumi import gcp:kms/cryptoKeyIAMBinding:CryptoKeyIAMBinding crypto_key "your-project-id/location-name/key-ring-name/key-name roles/viewer user:foo@example.com"
```
IAM binding imports use space-delimited identifiers; first the resource in question and then the role.
These bindings can be imported using the `crypto_key_id` and role, e.g.
```sh
$ pulumi import gcp:kms/cryptoKeyIAMBinding:CryptoKeyIAMBinding crypto_key "your-project-id/location-name/key-ring-name/key-name roles/editor"
```
IAM policy imports use the identifier of the resource in question.
This policy resource can be imported using the `crypto_key_id`, e.g.
```sh
$ pulumi import gcp:kms/cryptoKeyIAMBinding:CryptoKeyIAMBinding crypto_key your-project-id/location-name/key-ring-name/key-name
```
func GetCryptoKeyIAMBinding ¶
func GetCryptoKeyIAMBinding(ctx *pulumi.Context, name string, id pulumi.IDInput, state *CryptoKeyIAMBindingState, opts ...pulumi.ResourceOption) (*CryptoKeyIAMBinding, error)
GetCryptoKeyIAMBinding gets an existing CryptoKeyIAMBinding resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewCryptoKeyIAMBinding ¶
func NewCryptoKeyIAMBinding(ctx *pulumi.Context, name string, args *CryptoKeyIAMBindingArgs, opts ...pulumi.ResourceOption) (*CryptoKeyIAMBinding, error)
NewCryptoKeyIAMBinding registers a new resource with the given unique name, arguments, and options.
func (*CryptoKeyIAMBinding) ElementType ¶
func (*CryptoKeyIAMBinding) ElementType() reflect.Type
func (*CryptoKeyIAMBinding) ToCryptoKeyIAMBindingOutput ¶
func (i *CryptoKeyIAMBinding) ToCryptoKeyIAMBindingOutput() CryptoKeyIAMBindingOutput
func (*CryptoKeyIAMBinding) ToCryptoKeyIAMBindingOutputWithContext ¶
func (i *CryptoKeyIAMBinding) ToCryptoKeyIAMBindingOutputWithContext(ctx context.Context) CryptoKeyIAMBindingOutput
type CryptoKeyIAMBindingArgs ¶
type CryptoKeyIAMBindingArgs struct { // ) An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding. // Structure is documented below. Condition CryptoKeyIAMBindingConditionPtrInput // The crypto key ID, in the form // `{project_id}/{location_name}/{key_ring_name}/{crypto_key_name}` or // `{location_name}/{key_ring_name}/{crypto_key_name}`. In the second form, // the provider's project setting will be used as a fallback. CryptoKeyId pulumi.StringInput Members pulumi.StringArrayInput // The role that should be applied. Note that custom roles must be of the format // `[projects|organizations]/{parent-name}/roles/{role-name}`. Role pulumi.StringInput }
The set of arguments for constructing a CryptoKeyIAMBinding resource.
func (CryptoKeyIAMBindingArgs) ElementType ¶
func (CryptoKeyIAMBindingArgs) ElementType() reflect.Type
type CryptoKeyIAMBindingArray ¶
type CryptoKeyIAMBindingArray []CryptoKeyIAMBindingInput
func (CryptoKeyIAMBindingArray) ElementType ¶
func (CryptoKeyIAMBindingArray) ElementType() reflect.Type
func (CryptoKeyIAMBindingArray) ToCryptoKeyIAMBindingArrayOutput ¶
func (i CryptoKeyIAMBindingArray) ToCryptoKeyIAMBindingArrayOutput() CryptoKeyIAMBindingArrayOutput
func (CryptoKeyIAMBindingArray) ToCryptoKeyIAMBindingArrayOutputWithContext ¶
func (i CryptoKeyIAMBindingArray) ToCryptoKeyIAMBindingArrayOutputWithContext(ctx context.Context) CryptoKeyIAMBindingArrayOutput
type CryptoKeyIAMBindingArrayInput ¶
type CryptoKeyIAMBindingArrayInput interface { pulumi.Input ToCryptoKeyIAMBindingArrayOutput() CryptoKeyIAMBindingArrayOutput ToCryptoKeyIAMBindingArrayOutputWithContext(context.Context) CryptoKeyIAMBindingArrayOutput }
CryptoKeyIAMBindingArrayInput is an input type that accepts CryptoKeyIAMBindingArray and CryptoKeyIAMBindingArrayOutput values. You can construct a concrete instance of `CryptoKeyIAMBindingArrayInput` via:
CryptoKeyIAMBindingArray{ CryptoKeyIAMBindingArgs{...} }
type CryptoKeyIAMBindingArrayOutput ¶
type CryptoKeyIAMBindingArrayOutput struct{ *pulumi.OutputState }
func (CryptoKeyIAMBindingArrayOutput) ElementType ¶
func (CryptoKeyIAMBindingArrayOutput) ElementType() reflect.Type
func (CryptoKeyIAMBindingArrayOutput) Index ¶
func (o CryptoKeyIAMBindingArrayOutput) Index(i pulumi.IntInput) CryptoKeyIAMBindingOutput
func (CryptoKeyIAMBindingArrayOutput) ToCryptoKeyIAMBindingArrayOutput ¶
func (o CryptoKeyIAMBindingArrayOutput) ToCryptoKeyIAMBindingArrayOutput() CryptoKeyIAMBindingArrayOutput
func (CryptoKeyIAMBindingArrayOutput) ToCryptoKeyIAMBindingArrayOutputWithContext ¶
func (o CryptoKeyIAMBindingArrayOutput) ToCryptoKeyIAMBindingArrayOutputWithContext(ctx context.Context) CryptoKeyIAMBindingArrayOutput
type CryptoKeyIAMBindingCondition ¶
type CryptoKeyIAMBindingCondition struct { // An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. Description *string `pulumi:"description"` // Textual representation of an expression in Common Expression Language syntax. Expression string `pulumi:"expression"` // A title for the expression, i.e. a short string describing its purpose. Title string `pulumi:"title"` }
type CryptoKeyIAMBindingConditionArgs ¶
type CryptoKeyIAMBindingConditionArgs struct { // An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. Description pulumi.StringPtrInput `pulumi:"description"` // Textual representation of an expression in Common Expression Language syntax. Expression pulumi.StringInput `pulumi:"expression"` // A title for the expression, i.e. a short string describing its purpose. Title pulumi.StringInput `pulumi:"title"` }
func (CryptoKeyIAMBindingConditionArgs) ElementType ¶
func (CryptoKeyIAMBindingConditionArgs) ElementType() reflect.Type
func (CryptoKeyIAMBindingConditionArgs) ToCryptoKeyIAMBindingConditionOutput ¶
func (i CryptoKeyIAMBindingConditionArgs) ToCryptoKeyIAMBindingConditionOutput() CryptoKeyIAMBindingConditionOutput
func (CryptoKeyIAMBindingConditionArgs) ToCryptoKeyIAMBindingConditionOutputWithContext ¶
func (i CryptoKeyIAMBindingConditionArgs) ToCryptoKeyIAMBindingConditionOutputWithContext(ctx context.Context) CryptoKeyIAMBindingConditionOutput
func (CryptoKeyIAMBindingConditionArgs) ToCryptoKeyIAMBindingConditionPtrOutput ¶
func (i CryptoKeyIAMBindingConditionArgs) ToCryptoKeyIAMBindingConditionPtrOutput() CryptoKeyIAMBindingConditionPtrOutput
func (CryptoKeyIAMBindingConditionArgs) ToCryptoKeyIAMBindingConditionPtrOutputWithContext ¶
func (i CryptoKeyIAMBindingConditionArgs) ToCryptoKeyIAMBindingConditionPtrOutputWithContext(ctx context.Context) CryptoKeyIAMBindingConditionPtrOutput
type CryptoKeyIAMBindingConditionInput ¶
type CryptoKeyIAMBindingConditionInput interface { pulumi.Input ToCryptoKeyIAMBindingConditionOutput() CryptoKeyIAMBindingConditionOutput ToCryptoKeyIAMBindingConditionOutputWithContext(context.Context) CryptoKeyIAMBindingConditionOutput }
CryptoKeyIAMBindingConditionInput is an input type that accepts CryptoKeyIAMBindingConditionArgs and CryptoKeyIAMBindingConditionOutput values. You can construct a concrete instance of `CryptoKeyIAMBindingConditionInput` via:
CryptoKeyIAMBindingConditionArgs{...}
type CryptoKeyIAMBindingConditionOutput ¶
type CryptoKeyIAMBindingConditionOutput struct{ *pulumi.OutputState }
func (CryptoKeyIAMBindingConditionOutput) Description ¶
func (o CryptoKeyIAMBindingConditionOutput) Description() pulumi.StringPtrOutput
An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
func (CryptoKeyIAMBindingConditionOutput) ElementType ¶
func (CryptoKeyIAMBindingConditionOutput) ElementType() reflect.Type
func (CryptoKeyIAMBindingConditionOutput) Expression ¶
func (o CryptoKeyIAMBindingConditionOutput) Expression() pulumi.StringOutput
Textual representation of an expression in Common Expression Language syntax.
func (CryptoKeyIAMBindingConditionOutput) Title ¶
func (o CryptoKeyIAMBindingConditionOutput) Title() pulumi.StringOutput
A title for the expression, i.e. a short string describing its purpose.
func (CryptoKeyIAMBindingConditionOutput) ToCryptoKeyIAMBindingConditionOutput ¶
func (o CryptoKeyIAMBindingConditionOutput) ToCryptoKeyIAMBindingConditionOutput() CryptoKeyIAMBindingConditionOutput
func (CryptoKeyIAMBindingConditionOutput) ToCryptoKeyIAMBindingConditionOutputWithContext ¶
func (o CryptoKeyIAMBindingConditionOutput) ToCryptoKeyIAMBindingConditionOutputWithContext(ctx context.Context) CryptoKeyIAMBindingConditionOutput
func (CryptoKeyIAMBindingConditionOutput) ToCryptoKeyIAMBindingConditionPtrOutput ¶
func (o CryptoKeyIAMBindingConditionOutput) ToCryptoKeyIAMBindingConditionPtrOutput() CryptoKeyIAMBindingConditionPtrOutput
func (CryptoKeyIAMBindingConditionOutput) ToCryptoKeyIAMBindingConditionPtrOutputWithContext ¶
func (o CryptoKeyIAMBindingConditionOutput) ToCryptoKeyIAMBindingConditionPtrOutputWithContext(ctx context.Context) CryptoKeyIAMBindingConditionPtrOutput
type CryptoKeyIAMBindingConditionPtrInput ¶
type CryptoKeyIAMBindingConditionPtrInput interface { pulumi.Input ToCryptoKeyIAMBindingConditionPtrOutput() CryptoKeyIAMBindingConditionPtrOutput ToCryptoKeyIAMBindingConditionPtrOutputWithContext(context.Context) CryptoKeyIAMBindingConditionPtrOutput }
CryptoKeyIAMBindingConditionPtrInput is an input type that accepts CryptoKeyIAMBindingConditionArgs, CryptoKeyIAMBindingConditionPtr and CryptoKeyIAMBindingConditionPtrOutput values. You can construct a concrete instance of `CryptoKeyIAMBindingConditionPtrInput` via:
CryptoKeyIAMBindingConditionArgs{...} or: nil
func CryptoKeyIAMBindingConditionPtr ¶
func CryptoKeyIAMBindingConditionPtr(v *CryptoKeyIAMBindingConditionArgs) CryptoKeyIAMBindingConditionPtrInput
type CryptoKeyIAMBindingConditionPtrOutput ¶
type CryptoKeyIAMBindingConditionPtrOutput struct{ *pulumi.OutputState }
func (CryptoKeyIAMBindingConditionPtrOutput) Description ¶
func (o CryptoKeyIAMBindingConditionPtrOutput) Description() pulumi.StringPtrOutput
An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
func (CryptoKeyIAMBindingConditionPtrOutput) ElementType ¶
func (CryptoKeyIAMBindingConditionPtrOutput) ElementType() reflect.Type
func (CryptoKeyIAMBindingConditionPtrOutput) Expression ¶
func (o CryptoKeyIAMBindingConditionPtrOutput) Expression() pulumi.StringPtrOutput
Textual representation of an expression in Common Expression Language syntax.
func (CryptoKeyIAMBindingConditionPtrOutput) Title ¶
func (o CryptoKeyIAMBindingConditionPtrOutput) Title() pulumi.StringPtrOutput
A title for the expression, i.e. a short string describing its purpose.
func (CryptoKeyIAMBindingConditionPtrOutput) ToCryptoKeyIAMBindingConditionPtrOutput ¶
func (o CryptoKeyIAMBindingConditionPtrOutput) ToCryptoKeyIAMBindingConditionPtrOutput() CryptoKeyIAMBindingConditionPtrOutput
func (CryptoKeyIAMBindingConditionPtrOutput) ToCryptoKeyIAMBindingConditionPtrOutputWithContext ¶
func (o CryptoKeyIAMBindingConditionPtrOutput) ToCryptoKeyIAMBindingConditionPtrOutputWithContext(ctx context.Context) CryptoKeyIAMBindingConditionPtrOutput
type CryptoKeyIAMBindingInput ¶
type CryptoKeyIAMBindingInput interface { pulumi.Input ToCryptoKeyIAMBindingOutput() CryptoKeyIAMBindingOutput ToCryptoKeyIAMBindingOutputWithContext(ctx context.Context) CryptoKeyIAMBindingOutput }
type CryptoKeyIAMBindingMap ¶
type CryptoKeyIAMBindingMap map[string]CryptoKeyIAMBindingInput
func (CryptoKeyIAMBindingMap) ElementType ¶
func (CryptoKeyIAMBindingMap) ElementType() reflect.Type
func (CryptoKeyIAMBindingMap) ToCryptoKeyIAMBindingMapOutput ¶
func (i CryptoKeyIAMBindingMap) ToCryptoKeyIAMBindingMapOutput() CryptoKeyIAMBindingMapOutput
func (CryptoKeyIAMBindingMap) ToCryptoKeyIAMBindingMapOutputWithContext ¶
func (i CryptoKeyIAMBindingMap) ToCryptoKeyIAMBindingMapOutputWithContext(ctx context.Context) CryptoKeyIAMBindingMapOutput
type CryptoKeyIAMBindingMapInput ¶
type CryptoKeyIAMBindingMapInput interface { pulumi.Input ToCryptoKeyIAMBindingMapOutput() CryptoKeyIAMBindingMapOutput ToCryptoKeyIAMBindingMapOutputWithContext(context.Context) CryptoKeyIAMBindingMapOutput }
CryptoKeyIAMBindingMapInput is an input type that accepts CryptoKeyIAMBindingMap and CryptoKeyIAMBindingMapOutput values. You can construct a concrete instance of `CryptoKeyIAMBindingMapInput` via:
CryptoKeyIAMBindingMap{ "key": CryptoKeyIAMBindingArgs{...} }
type CryptoKeyIAMBindingMapOutput ¶
type CryptoKeyIAMBindingMapOutput struct{ *pulumi.OutputState }
func (CryptoKeyIAMBindingMapOutput) ElementType ¶
func (CryptoKeyIAMBindingMapOutput) ElementType() reflect.Type
func (CryptoKeyIAMBindingMapOutput) MapIndex ¶
func (o CryptoKeyIAMBindingMapOutput) MapIndex(k pulumi.StringInput) CryptoKeyIAMBindingOutput
func (CryptoKeyIAMBindingMapOutput) ToCryptoKeyIAMBindingMapOutput ¶
func (o CryptoKeyIAMBindingMapOutput) ToCryptoKeyIAMBindingMapOutput() CryptoKeyIAMBindingMapOutput
func (CryptoKeyIAMBindingMapOutput) ToCryptoKeyIAMBindingMapOutputWithContext ¶
func (o CryptoKeyIAMBindingMapOutput) ToCryptoKeyIAMBindingMapOutputWithContext(ctx context.Context) CryptoKeyIAMBindingMapOutput
type CryptoKeyIAMBindingOutput ¶
type CryptoKeyIAMBindingOutput struct{ *pulumi.OutputState }
func (CryptoKeyIAMBindingOutput) ElementType ¶
func (CryptoKeyIAMBindingOutput) ElementType() reflect.Type
func (CryptoKeyIAMBindingOutput) ToCryptoKeyIAMBindingOutput ¶
func (o CryptoKeyIAMBindingOutput) ToCryptoKeyIAMBindingOutput() CryptoKeyIAMBindingOutput
func (CryptoKeyIAMBindingOutput) ToCryptoKeyIAMBindingOutputWithContext ¶
func (o CryptoKeyIAMBindingOutput) ToCryptoKeyIAMBindingOutputWithContext(ctx context.Context) CryptoKeyIAMBindingOutput
type CryptoKeyIAMBindingState ¶
type CryptoKeyIAMBindingState struct { // ) An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding. // Structure is documented below. Condition CryptoKeyIAMBindingConditionPtrInput // The crypto key ID, in the form // `{project_id}/{location_name}/{key_ring_name}/{crypto_key_name}` or // `{location_name}/{key_ring_name}/{crypto_key_name}`. In the second form, // the provider's project setting will be used as a fallback. CryptoKeyId pulumi.StringPtrInput // (Computed) The etag of the project's IAM policy. Etag pulumi.StringPtrInput Members pulumi.StringArrayInput // The role that should be applied. Note that custom roles must be of the format // `[projects|organizations]/{parent-name}/roles/{role-name}`. Role pulumi.StringPtrInput }
func (CryptoKeyIAMBindingState) ElementType ¶
func (CryptoKeyIAMBindingState) ElementType() reflect.Type
type CryptoKeyIAMMember ¶
type CryptoKeyIAMMember struct { pulumi.CustomResourceState // ) An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding. // Structure is documented below. Condition CryptoKeyIAMMemberConditionPtrOutput `pulumi:"condition"` // The crypto key ID, in the form // `{project_id}/{location_name}/{key_ring_name}/{crypto_key_name}` or // `{location_name}/{key_ring_name}/{crypto_key_name}`. In the second form, // the provider's project setting will be used as a fallback. CryptoKeyId pulumi.StringOutput `pulumi:"cryptoKeyId"` // (Computed) The etag of the project's IAM policy. Etag pulumi.StringOutput `pulumi:"etag"` Member pulumi.StringOutput `pulumi:"member"` // The role that should be applied. Note that custom roles must be of the format // `[projects|organizations]/{parent-name}/roles/{role-name}`. Role pulumi.StringOutput `pulumi:"role"` }
Three different resources help you manage your IAM policy for KMS crypto key. Each of these resources serves a different use case:
* `kms.CryptoKeyIAMPolicy`: Authoritative. Sets the IAM policy for the crypto key and replaces any existing policy already attached. * `kms.CryptoKeyIAMBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the crypto key are preserved. * `kms.CryptoKeyIAMMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the crypto key are preserved.
> **Note:** `kms.CryptoKeyIAMPolicy` **cannot** be used in conjunction with `kms.CryptoKeyIAMBinding` and `kms.CryptoKeyIAMMember` or they will fight over what your policy should be.
> **Note:** `kms.CryptoKeyIAMBinding` resources **can be** used in conjunction with `kms.CryptoKeyIAMMember` resources **only if** they do not grant privilege to the same role.
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { keyring, err := kms.NewKeyRing(ctx, "keyring", &kms.KeyRingArgs{ Location: pulumi.String("global"), }) if err != nil { return err } key, err := kms.NewCryptoKey(ctx, "key", &kms.CryptoKeyArgs{ KeyRing: keyring.ID(), RotationPeriod: pulumi.String("100000s"), }) if err != nil { return err } admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{ Bindings: []organizations.GetIAMPolicyBinding{ organizations.GetIAMPolicyBinding{ Role: "roles/cloudkms.cryptoKeyEncrypter", Members: []string{ "user:jane@example.com", }, }, }, }, nil) if err != nil { return err } _, err = kms.NewCryptoKeyIAMPolicy(ctx, "cryptoKey", &kms.CryptoKeyIAMPolicyArgs{ CryptoKeyId: key.ID(), PolicyData: pulumi.String(admin.PolicyData), }) if err != nil { return err } return nil }) }
```
With IAM Conditions:
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{ Bindings: []organizations.GetIAMPolicyBinding{ organizations.GetIAMPolicyBinding{ Condition: organizations.GetIAMPolicyBindingCondition{ Description: pulumi.StringRef("Expiring at midnight of 2019-12-31"), Expression: "request.time < timestamp(\"2020-01-01T00:00:00Z\")", Title: "expires_after_2019_12_31", }, Members: []string{ "user:jane@example.com", }, Role: "roles/cloudkms.cryptoKeyEncrypter", }, }, }, nil) if err != nil { return err } return nil }) }
```
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := kms.NewCryptoKeyIAMBinding(ctx, "cryptoKey", &kms.CryptoKeyIAMBindingArgs{ CryptoKeyId: pulumi.Any(google_kms_crypto_key.Key.Id), Role: pulumi.String("roles/cloudkms.cryptoKeyEncrypter"), Members: pulumi.StringArray{ pulumi.String("user:jane@example.com"), }, }) if err != nil { return err } return nil }) }
```
With IAM Conditions:
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := kms.NewCryptoKeyIAMBinding(ctx, "cryptoKey", &kms.CryptoKeyIAMBindingArgs{ CryptoKeyId: pulumi.Any(google_kms_crypto_key.Key.Id), Role: pulumi.String("roles/cloudkms.cryptoKeyEncrypter"), Members: pulumi.StringArray{ pulumi.String("user:jane@example.com"), }, Condition: &kms.CryptoKeyIAMBindingConditionArgs{ Title: pulumi.String("expires_after_2019_12_31"), Description: pulumi.String("Expiring at midnight of 2019-12-31"), Expression: pulumi.String("request.time < timestamp(\"2020-01-01T00:00:00Z\")"), }, }) if err != nil { return err } return nil }) }
```
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := kms.NewCryptoKeyIAMMember(ctx, "cryptoKey", &kms.CryptoKeyIAMMemberArgs{ CryptoKeyId: pulumi.Any(google_kms_crypto_key.Key.Id), Role: pulumi.String("roles/cloudkms.cryptoKeyEncrypter"), Member: pulumi.String("user:jane@example.com"), }) if err != nil { return err } return nil }) }
```
With IAM Conditions:
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := kms.NewCryptoKeyIAMMember(ctx, "cryptoKey", &kms.CryptoKeyIAMMemberArgs{ CryptoKeyId: pulumi.Any(google_kms_crypto_key.Key.Id), Role: pulumi.String("roles/cloudkms.cryptoKeyEncrypter"), Member: pulumi.String("user:jane@example.com"), Condition: &kms.CryptoKeyIAMMemberConditionArgs{ Title: pulumi.String("expires_after_2019_12_31"), Description: pulumi.String("Expiring at midnight of 2019-12-31"), Expression: pulumi.String("request.time < timestamp(\"2020-01-01T00:00:00Z\")"), }, }) if err != nil { return err } return nil }) }
```
## Import
IAM member imports use space-delimited identifiers; the resource in question, the role, and the account.
This member resource can be imported using the `crypto_key_id`, role, and member identity e.g.
```sh
$ pulumi import gcp:kms/cryptoKeyIAMMember:CryptoKeyIAMMember crypto_key "your-project-id/location-name/key-ring-name/key-name roles/viewer user:foo@example.com"
```
IAM binding imports use space-delimited identifiers; first the resource in question and then the role.
These bindings can be imported using the `crypto_key_id` and role, e.g.
```sh
$ pulumi import gcp:kms/cryptoKeyIAMMember:CryptoKeyIAMMember crypto_key "your-project-id/location-name/key-ring-name/key-name roles/editor"
```
IAM policy imports use the identifier of the resource in question.
This policy resource can be imported using the `crypto_key_id`, e.g.
```sh
$ pulumi import gcp:kms/cryptoKeyIAMMember:CryptoKeyIAMMember crypto_key your-project-id/location-name/key-ring-name/key-name
```
func GetCryptoKeyIAMMember ¶
func GetCryptoKeyIAMMember(ctx *pulumi.Context, name string, id pulumi.IDInput, state *CryptoKeyIAMMemberState, opts ...pulumi.ResourceOption) (*CryptoKeyIAMMember, error)
GetCryptoKeyIAMMember gets an existing CryptoKeyIAMMember resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewCryptoKeyIAMMember ¶
func NewCryptoKeyIAMMember(ctx *pulumi.Context, name string, args *CryptoKeyIAMMemberArgs, opts ...pulumi.ResourceOption) (*CryptoKeyIAMMember, error)
NewCryptoKeyIAMMember registers a new resource with the given unique name, arguments, and options.
func (*CryptoKeyIAMMember) ElementType ¶
func (*CryptoKeyIAMMember) ElementType() reflect.Type
func (*CryptoKeyIAMMember) ToCryptoKeyIAMMemberOutput ¶
func (i *CryptoKeyIAMMember) ToCryptoKeyIAMMemberOutput() CryptoKeyIAMMemberOutput
func (*CryptoKeyIAMMember) ToCryptoKeyIAMMemberOutputWithContext ¶
func (i *CryptoKeyIAMMember) ToCryptoKeyIAMMemberOutputWithContext(ctx context.Context) CryptoKeyIAMMemberOutput
type CryptoKeyIAMMemberArgs ¶
type CryptoKeyIAMMemberArgs struct { // ) An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding. // Structure is documented below. Condition CryptoKeyIAMMemberConditionPtrInput // The crypto key ID, in the form // `{project_id}/{location_name}/{key_ring_name}/{crypto_key_name}` or // `{location_name}/{key_ring_name}/{crypto_key_name}`. In the second form, // the provider's project setting will be used as a fallback. CryptoKeyId pulumi.StringInput Member pulumi.StringInput // The role that should be applied. Note that custom roles must be of the format // `[projects|organizations]/{parent-name}/roles/{role-name}`. Role pulumi.StringInput }
The set of arguments for constructing a CryptoKeyIAMMember resource.
func (CryptoKeyIAMMemberArgs) ElementType ¶
func (CryptoKeyIAMMemberArgs) ElementType() reflect.Type
type CryptoKeyIAMMemberArray ¶
type CryptoKeyIAMMemberArray []CryptoKeyIAMMemberInput
func (CryptoKeyIAMMemberArray) ElementType ¶
func (CryptoKeyIAMMemberArray) ElementType() reflect.Type
func (CryptoKeyIAMMemberArray) ToCryptoKeyIAMMemberArrayOutput ¶
func (i CryptoKeyIAMMemberArray) ToCryptoKeyIAMMemberArrayOutput() CryptoKeyIAMMemberArrayOutput
func (CryptoKeyIAMMemberArray) ToCryptoKeyIAMMemberArrayOutputWithContext ¶
func (i CryptoKeyIAMMemberArray) ToCryptoKeyIAMMemberArrayOutputWithContext(ctx context.Context) CryptoKeyIAMMemberArrayOutput
type CryptoKeyIAMMemberArrayInput ¶
type CryptoKeyIAMMemberArrayInput interface { pulumi.Input ToCryptoKeyIAMMemberArrayOutput() CryptoKeyIAMMemberArrayOutput ToCryptoKeyIAMMemberArrayOutputWithContext(context.Context) CryptoKeyIAMMemberArrayOutput }
CryptoKeyIAMMemberArrayInput is an input type that accepts CryptoKeyIAMMemberArray and CryptoKeyIAMMemberArrayOutput values. You can construct a concrete instance of `CryptoKeyIAMMemberArrayInput` via:
CryptoKeyIAMMemberArray{ CryptoKeyIAMMemberArgs{...} }
type CryptoKeyIAMMemberArrayOutput ¶
type CryptoKeyIAMMemberArrayOutput struct{ *pulumi.OutputState }
func (CryptoKeyIAMMemberArrayOutput) ElementType ¶
func (CryptoKeyIAMMemberArrayOutput) ElementType() reflect.Type
func (CryptoKeyIAMMemberArrayOutput) Index ¶
func (o CryptoKeyIAMMemberArrayOutput) Index(i pulumi.IntInput) CryptoKeyIAMMemberOutput
func (CryptoKeyIAMMemberArrayOutput) ToCryptoKeyIAMMemberArrayOutput ¶
func (o CryptoKeyIAMMemberArrayOutput) ToCryptoKeyIAMMemberArrayOutput() CryptoKeyIAMMemberArrayOutput
func (CryptoKeyIAMMemberArrayOutput) ToCryptoKeyIAMMemberArrayOutputWithContext ¶
func (o CryptoKeyIAMMemberArrayOutput) ToCryptoKeyIAMMemberArrayOutputWithContext(ctx context.Context) CryptoKeyIAMMemberArrayOutput
type CryptoKeyIAMMemberCondition ¶
type CryptoKeyIAMMemberCondition struct { // An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. Description *string `pulumi:"description"` // Textual representation of an expression in Common Expression Language syntax. Expression string `pulumi:"expression"` // A title for the expression, i.e. a short string describing its purpose. Title string `pulumi:"title"` }
type CryptoKeyIAMMemberConditionArgs ¶
type CryptoKeyIAMMemberConditionArgs struct { // An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. Description pulumi.StringPtrInput `pulumi:"description"` // Textual representation of an expression in Common Expression Language syntax. Expression pulumi.StringInput `pulumi:"expression"` // A title for the expression, i.e. a short string describing its purpose. Title pulumi.StringInput `pulumi:"title"` }
func (CryptoKeyIAMMemberConditionArgs) ElementType ¶
func (CryptoKeyIAMMemberConditionArgs) ElementType() reflect.Type
func (CryptoKeyIAMMemberConditionArgs) ToCryptoKeyIAMMemberConditionOutput ¶
func (i CryptoKeyIAMMemberConditionArgs) ToCryptoKeyIAMMemberConditionOutput() CryptoKeyIAMMemberConditionOutput
func (CryptoKeyIAMMemberConditionArgs) ToCryptoKeyIAMMemberConditionOutputWithContext ¶
func (i CryptoKeyIAMMemberConditionArgs) ToCryptoKeyIAMMemberConditionOutputWithContext(ctx context.Context) CryptoKeyIAMMemberConditionOutput
func (CryptoKeyIAMMemberConditionArgs) ToCryptoKeyIAMMemberConditionPtrOutput ¶
func (i CryptoKeyIAMMemberConditionArgs) ToCryptoKeyIAMMemberConditionPtrOutput() CryptoKeyIAMMemberConditionPtrOutput
func (CryptoKeyIAMMemberConditionArgs) ToCryptoKeyIAMMemberConditionPtrOutputWithContext ¶
func (i CryptoKeyIAMMemberConditionArgs) ToCryptoKeyIAMMemberConditionPtrOutputWithContext(ctx context.Context) CryptoKeyIAMMemberConditionPtrOutput
type CryptoKeyIAMMemberConditionInput ¶
type CryptoKeyIAMMemberConditionInput interface { pulumi.Input ToCryptoKeyIAMMemberConditionOutput() CryptoKeyIAMMemberConditionOutput ToCryptoKeyIAMMemberConditionOutputWithContext(context.Context) CryptoKeyIAMMemberConditionOutput }
CryptoKeyIAMMemberConditionInput is an input type that accepts CryptoKeyIAMMemberConditionArgs and CryptoKeyIAMMemberConditionOutput values. You can construct a concrete instance of `CryptoKeyIAMMemberConditionInput` via:
CryptoKeyIAMMemberConditionArgs{...}
type CryptoKeyIAMMemberConditionOutput ¶
type CryptoKeyIAMMemberConditionOutput struct{ *pulumi.OutputState }
func (CryptoKeyIAMMemberConditionOutput) Description ¶
func (o CryptoKeyIAMMemberConditionOutput) Description() pulumi.StringPtrOutput
An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
func (CryptoKeyIAMMemberConditionOutput) ElementType ¶
func (CryptoKeyIAMMemberConditionOutput) ElementType() reflect.Type
func (CryptoKeyIAMMemberConditionOutput) Expression ¶
func (o CryptoKeyIAMMemberConditionOutput) Expression() pulumi.StringOutput
Textual representation of an expression in Common Expression Language syntax.
func (CryptoKeyIAMMemberConditionOutput) Title ¶
func (o CryptoKeyIAMMemberConditionOutput) Title() pulumi.StringOutput
A title for the expression, i.e. a short string describing its purpose.
func (CryptoKeyIAMMemberConditionOutput) ToCryptoKeyIAMMemberConditionOutput ¶
func (o CryptoKeyIAMMemberConditionOutput) ToCryptoKeyIAMMemberConditionOutput() CryptoKeyIAMMemberConditionOutput
func (CryptoKeyIAMMemberConditionOutput) ToCryptoKeyIAMMemberConditionOutputWithContext ¶
func (o CryptoKeyIAMMemberConditionOutput) ToCryptoKeyIAMMemberConditionOutputWithContext(ctx context.Context) CryptoKeyIAMMemberConditionOutput
func (CryptoKeyIAMMemberConditionOutput) ToCryptoKeyIAMMemberConditionPtrOutput ¶
func (o CryptoKeyIAMMemberConditionOutput) ToCryptoKeyIAMMemberConditionPtrOutput() CryptoKeyIAMMemberConditionPtrOutput
func (CryptoKeyIAMMemberConditionOutput) ToCryptoKeyIAMMemberConditionPtrOutputWithContext ¶
func (o CryptoKeyIAMMemberConditionOutput) ToCryptoKeyIAMMemberConditionPtrOutputWithContext(ctx context.Context) CryptoKeyIAMMemberConditionPtrOutput
type CryptoKeyIAMMemberConditionPtrInput ¶
type CryptoKeyIAMMemberConditionPtrInput interface { pulumi.Input ToCryptoKeyIAMMemberConditionPtrOutput() CryptoKeyIAMMemberConditionPtrOutput ToCryptoKeyIAMMemberConditionPtrOutputWithContext(context.Context) CryptoKeyIAMMemberConditionPtrOutput }
CryptoKeyIAMMemberConditionPtrInput is an input type that accepts CryptoKeyIAMMemberConditionArgs, CryptoKeyIAMMemberConditionPtr and CryptoKeyIAMMemberConditionPtrOutput values. You can construct a concrete instance of `CryptoKeyIAMMemberConditionPtrInput` via:
CryptoKeyIAMMemberConditionArgs{...} or: nil
func CryptoKeyIAMMemberConditionPtr ¶
func CryptoKeyIAMMemberConditionPtr(v *CryptoKeyIAMMemberConditionArgs) CryptoKeyIAMMemberConditionPtrInput
type CryptoKeyIAMMemberConditionPtrOutput ¶
type CryptoKeyIAMMemberConditionPtrOutput struct{ *pulumi.OutputState }
func (CryptoKeyIAMMemberConditionPtrOutput) Description ¶
func (o CryptoKeyIAMMemberConditionPtrOutput) Description() pulumi.StringPtrOutput
An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
func (CryptoKeyIAMMemberConditionPtrOutput) ElementType ¶
func (CryptoKeyIAMMemberConditionPtrOutput) ElementType() reflect.Type
func (CryptoKeyIAMMemberConditionPtrOutput) Expression ¶
func (o CryptoKeyIAMMemberConditionPtrOutput) Expression() pulumi.StringPtrOutput
Textual representation of an expression in Common Expression Language syntax.
func (CryptoKeyIAMMemberConditionPtrOutput) Title ¶
func (o CryptoKeyIAMMemberConditionPtrOutput) Title() pulumi.StringPtrOutput
A title for the expression, i.e. a short string describing its purpose.
func (CryptoKeyIAMMemberConditionPtrOutput) ToCryptoKeyIAMMemberConditionPtrOutput ¶
func (o CryptoKeyIAMMemberConditionPtrOutput) ToCryptoKeyIAMMemberConditionPtrOutput() CryptoKeyIAMMemberConditionPtrOutput
func (CryptoKeyIAMMemberConditionPtrOutput) ToCryptoKeyIAMMemberConditionPtrOutputWithContext ¶
func (o CryptoKeyIAMMemberConditionPtrOutput) ToCryptoKeyIAMMemberConditionPtrOutputWithContext(ctx context.Context) CryptoKeyIAMMemberConditionPtrOutput
type CryptoKeyIAMMemberInput ¶
type CryptoKeyIAMMemberInput interface { pulumi.Input ToCryptoKeyIAMMemberOutput() CryptoKeyIAMMemberOutput ToCryptoKeyIAMMemberOutputWithContext(ctx context.Context) CryptoKeyIAMMemberOutput }
type CryptoKeyIAMMemberMap ¶
type CryptoKeyIAMMemberMap map[string]CryptoKeyIAMMemberInput
func (CryptoKeyIAMMemberMap) ElementType ¶
func (CryptoKeyIAMMemberMap) ElementType() reflect.Type
func (CryptoKeyIAMMemberMap) ToCryptoKeyIAMMemberMapOutput ¶
func (i CryptoKeyIAMMemberMap) ToCryptoKeyIAMMemberMapOutput() CryptoKeyIAMMemberMapOutput
func (CryptoKeyIAMMemberMap) ToCryptoKeyIAMMemberMapOutputWithContext ¶
func (i CryptoKeyIAMMemberMap) ToCryptoKeyIAMMemberMapOutputWithContext(ctx context.Context) CryptoKeyIAMMemberMapOutput
type CryptoKeyIAMMemberMapInput ¶
type CryptoKeyIAMMemberMapInput interface { pulumi.Input ToCryptoKeyIAMMemberMapOutput() CryptoKeyIAMMemberMapOutput ToCryptoKeyIAMMemberMapOutputWithContext(context.Context) CryptoKeyIAMMemberMapOutput }
CryptoKeyIAMMemberMapInput is an input type that accepts CryptoKeyIAMMemberMap and CryptoKeyIAMMemberMapOutput values. You can construct a concrete instance of `CryptoKeyIAMMemberMapInput` via:
CryptoKeyIAMMemberMap{ "key": CryptoKeyIAMMemberArgs{...} }
type CryptoKeyIAMMemberMapOutput ¶
type CryptoKeyIAMMemberMapOutput struct{ *pulumi.OutputState }
func (CryptoKeyIAMMemberMapOutput) ElementType ¶
func (CryptoKeyIAMMemberMapOutput) ElementType() reflect.Type
func (CryptoKeyIAMMemberMapOutput) MapIndex ¶
func (o CryptoKeyIAMMemberMapOutput) MapIndex(k pulumi.StringInput) CryptoKeyIAMMemberOutput
func (CryptoKeyIAMMemberMapOutput) ToCryptoKeyIAMMemberMapOutput ¶
func (o CryptoKeyIAMMemberMapOutput) ToCryptoKeyIAMMemberMapOutput() CryptoKeyIAMMemberMapOutput
func (CryptoKeyIAMMemberMapOutput) ToCryptoKeyIAMMemberMapOutputWithContext ¶
func (o CryptoKeyIAMMemberMapOutput) ToCryptoKeyIAMMemberMapOutputWithContext(ctx context.Context) CryptoKeyIAMMemberMapOutput
type CryptoKeyIAMMemberOutput ¶
type CryptoKeyIAMMemberOutput struct{ *pulumi.OutputState }
func (CryptoKeyIAMMemberOutput) ElementType ¶
func (CryptoKeyIAMMemberOutput) ElementType() reflect.Type
func (CryptoKeyIAMMemberOutput) ToCryptoKeyIAMMemberOutput ¶
func (o CryptoKeyIAMMemberOutput) ToCryptoKeyIAMMemberOutput() CryptoKeyIAMMemberOutput
func (CryptoKeyIAMMemberOutput) ToCryptoKeyIAMMemberOutputWithContext ¶
func (o CryptoKeyIAMMemberOutput) ToCryptoKeyIAMMemberOutputWithContext(ctx context.Context) CryptoKeyIAMMemberOutput
type CryptoKeyIAMMemberState ¶
type CryptoKeyIAMMemberState struct { // ) An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding. // Structure is documented below. Condition CryptoKeyIAMMemberConditionPtrInput // The crypto key ID, in the form // `{project_id}/{location_name}/{key_ring_name}/{crypto_key_name}` or // `{location_name}/{key_ring_name}/{crypto_key_name}`. In the second form, // the provider's project setting will be used as a fallback. CryptoKeyId pulumi.StringPtrInput // (Computed) The etag of the project's IAM policy. Etag pulumi.StringPtrInput Member pulumi.StringPtrInput // The role that should be applied. Note that custom roles must be of the format // `[projects|organizations]/{parent-name}/roles/{role-name}`. Role pulumi.StringPtrInput }
func (CryptoKeyIAMMemberState) ElementType ¶
func (CryptoKeyIAMMemberState) ElementType() reflect.Type
type CryptoKeyIAMPolicy ¶
type CryptoKeyIAMPolicy struct { pulumi.CustomResourceState // The crypto key ID, in the form // `{project_id}/{location_name}/{key_ring_name}/{crypto_key_name}` or // `{location_name}/{key_ring_name}/{crypto_key_name}`. In the second form, // the provider's project setting will be used as a fallback. CryptoKeyId pulumi.StringOutput `pulumi:"cryptoKeyId"` // (Computed) The etag of the project's IAM policy. Etag pulumi.StringOutput `pulumi:"etag"` // The policy data generated by // a `organizations.getIAMPolicy` data source. PolicyData pulumi.StringOutput `pulumi:"policyData"` }
Three different resources help you manage your IAM policy for KMS crypto key. Each of these resources serves a different use case:
* `kms.CryptoKeyIAMPolicy`: Authoritative. Sets the IAM policy for the crypto key and replaces any existing policy already attached. * `kms.CryptoKeyIAMBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the crypto key are preserved. * `kms.CryptoKeyIAMMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the crypto key are preserved.
> **Note:** `kms.CryptoKeyIAMPolicy` **cannot** be used in conjunction with `kms.CryptoKeyIAMBinding` and `kms.CryptoKeyIAMMember` or they will fight over what your policy should be.
> **Note:** `kms.CryptoKeyIAMBinding` resources **can be** used in conjunction with `kms.CryptoKeyIAMMember` resources **only if** they do not grant privilege to the same role.
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { keyring, err := kms.NewKeyRing(ctx, "keyring", &kms.KeyRingArgs{ Location: pulumi.String("global"), }) if err != nil { return err } key, err := kms.NewCryptoKey(ctx, "key", &kms.CryptoKeyArgs{ KeyRing: keyring.ID(), RotationPeriod: pulumi.String("100000s"), }) if err != nil { return err } admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{ Bindings: []organizations.GetIAMPolicyBinding{ organizations.GetIAMPolicyBinding{ Role: "roles/cloudkms.cryptoKeyEncrypter", Members: []string{ "user:jane@example.com", }, }, }, }, nil) if err != nil { return err } _, err = kms.NewCryptoKeyIAMPolicy(ctx, "cryptoKey", &kms.CryptoKeyIAMPolicyArgs{ CryptoKeyId: key.ID(), PolicyData: pulumi.String(admin.PolicyData), }) if err != nil { return err } return nil }) }
```
With IAM Conditions:
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{ Bindings: []organizations.GetIAMPolicyBinding{ organizations.GetIAMPolicyBinding{ Condition: organizations.GetIAMPolicyBindingCondition{ Description: pulumi.StringRef("Expiring at midnight of 2019-12-31"), Expression: "request.time < timestamp(\"2020-01-01T00:00:00Z\")", Title: "expires_after_2019_12_31", }, Members: []string{ "user:jane@example.com", }, Role: "roles/cloudkms.cryptoKeyEncrypter", }, }, }, nil) if err != nil { return err } return nil }) }
```
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := kms.NewCryptoKeyIAMBinding(ctx, "cryptoKey", &kms.CryptoKeyIAMBindingArgs{ CryptoKeyId: pulumi.Any(google_kms_crypto_key.Key.Id), Role: pulumi.String("roles/cloudkms.cryptoKeyEncrypter"), Members: pulumi.StringArray{ pulumi.String("user:jane@example.com"), }, }) if err != nil { return err } return nil }) }
```
With IAM Conditions:
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := kms.NewCryptoKeyIAMBinding(ctx, "cryptoKey", &kms.CryptoKeyIAMBindingArgs{ CryptoKeyId: pulumi.Any(google_kms_crypto_key.Key.Id), Role: pulumi.String("roles/cloudkms.cryptoKeyEncrypter"), Members: pulumi.StringArray{ pulumi.String("user:jane@example.com"), }, Condition: &kms.CryptoKeyIAMBindingConditionArgs{ Title: pulumi.String("expires_after_2019_12_31"), Description: pulumi.String("Expiring at midnight of 2019-12-31"), Expression: pulumi.String("request.time < timestamp(\"2020-01-01T00:00:00Z\")"), }, }) if err != nil { return err } return nil }) }
```
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := kms.NewCryptoKeyIAMMember(ctx, "cryptoKey", &kms.CryptoKeyIAMMemberArgs{ CryptoKeyId: pulumi.Any(google_kms_crypto_key.Key.Id), Role: pulumi.String("roles/cloudkms.cryptoKeyEncrypter"), Member: pulumi.String("user:jane@example.com"), }) if err != nil { return err } return nil }) }
```
With IAM Conditions:
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := kms.NewCryptoKeyIAMMember(ctx, "cryptoKey", &kms.CryptoKeyIAMMemberArgs{ CryptoKeyId: pulumi.Any(google_kms_crypto_key.Key.Id), Role: pulumi.String("roles/cloudkms.cryptoKeyEncrypter"), Member: pulumi.String("user:jane@example.com"), Condition: &kms.CryptoKeyIAMMemberConditionArgs{ Title: pulumi.String("expires_after_2019_12_31"), Description: pulumi.String("Expiring at midnight of 2019-12-31"), Expression: pulumi.String("request.time < timestamp(\"2020-01-01T00:00:00Z\")"), }, }) if err != nil { return err } return nil }) }
```
## Import
IAM member imports use space-delimited identifiers; the resource in question, the role, and the account.
This member resource can be imported using the `crypto_key_id`, role, and member identity e.g.
```sh
$ pulumi import gcp:kms/cryptoKeyIAMPolicy:CryptoKeyIAMPolicy crypto_key "your-project-id/location-name/key-ring-name/key-name roles/viewer user:foo@example.com"
```
IAM binding imports use space-delimited identifiers; first the resource in question and then the role.
These bindings can be imported using the `crypto_key_id` and role, e.g.
```sh
$ pulumi import gcp:kms/cryptoKeyIAMPolicy:CryptoKeyIAMPolicy crypto_key "your-project-id/location-name/key-ring-name/key-name roles/editor"
```
IAM policy imports use the identifier of the resource in question.
This policy resource can be imported using the `crypto_key_id`, e.g.
```sh
$ pulumi import gcp:kms/cryptoKeyIAMPolicy:CryptoKeyIAMPolicy crypto_key your-project-id/location-name/key-ring-name/key-name
```
func GetCryptoKeyIAMPolicy ¶
func GetCryptoKeyIAMPolicy(ctx *pulumi.Context, name string, id pulumi.IDInput, state *CryptoKeyIAMPolicyState, opts ...pulumi.ResourceOption) (*CryptoKeyIAMPolicy, error)
GetCryptoKeyIAMPolicy gets an existing CryptoKeyIAMPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewCryptoKeyIAMPolicy ¶
func NewCryptoKeyIAMPolicy(ctx *pulumi.Context, name string, args *CryptoKeyIAMPolicyArgs, opts ...pulumi.ResourceOption) (*CryptoKeyIAMPolicy, error)
NewCryptoKeyIAMPolicy registers a new resource with the given unique name, arguments, and options.
func (*CryptoKeyIAMPolicy) ElementType ¶
func (*CryptoKeyIAMPolicy) ElementType() reflect.Type
func (*CryptoKeyIAMPolicy) ToCryptoKeyIAMPolicyOutput ¶
func (i *CryptoKeyIAMPolicy) ToCryptoKeyIAMPolicyOutput() CryptoKeyIAMPolicyOutput
func (*CryptoKeyIAMPolicy) ToCryptoKeyIAMPolicyOutputWithContext ¶
func (i *CryptoKeyIAMPolicy) ToCryptoKeyIAMPolicyOutputWithContext(ctx context.Context) CryptoKeyIAMPolicyOutput
type CryptoKeyIAMPolicyArgs ¶
type CryptoKeyIAMPolicyArgs struct { // The crypto key ID, in the form // `{project_id}/{location_name}/{key_ring_name}/{crypto_key_name}` or // `{location_name}/{key_ring_name}/{crypto_key_name}`. In the second form, // the provider's project setting will be used as a fallback. CryptoKeyId pulumi.StringInput // The policy data generated by // a `organizations.getIAMPolicy` data source. PolicyData pulumi.StringInput }
The set of arguments for constructing a CryptoKeyIAMPolicy resource.
func (CryptoKeyIAMPolicyArgs) ElementType ¶
func (CryptoKeyIAMPolicyArgs) ElementType() reflect.Type
type CryptoKeyIAMPolicyArray ¶
type CryptoKeyIAMPolicyArray []CryptoKeyIAMPolicyInput
func (CryptoKeyIAMPolicyArray) ElementType ¶
func (CryptoKeyIAMPolicyArray) ElementType() reflect.Type
func (CryptoKeyIAMPolicyArray) ToCryptoKeyIAMPolicyArrayOutput ¶
func (i CryptoKeyIAMPolicyArray) ToCryptoKeyIAMPolicyArrayOutput() CryptoKeyIAMPolicyArrayOutput
func (CryptoKeyIAMPolicyArray) ToCryptoKeyIAMPolicyArrayOutputWithContext ¶
func (i CryptoKeyIAMPolicyArray) ToCryptoKeyIAMPolicyArrayOutputWithContext(ctx context.Context) CryptoKeyIAMPolicyArrayOutput
type CryptoKeyIAMPolicyArrayInput ¶
type CryptoKeyIAMPolicyArrayInput interface { pulumi.Input ToCryptoKeyIAMPolicyArrayOutput() CryptoKeyIAMPolicyArrayOutput ToCryptoKeyIAMPolicyArrayOutputWithContext(context.Context) CryptoKeyIAMPolicyArrayOutput }
CryptoKeyIAMPolicyArrayInput is an input type that accepts CryptoKeyIAMPolicyArray and CryptoKeyIAMPolicyArrayOutput values. You can construct a concrete instance of `CryptoKeyIAMPolicyArrayInput` via:
CryptoKeyIAMPolicyArray{ CryptoKeyIAMPolicyArgs{...} }
type CryptoKeyIAMPolicyArrayOutput ¶
type CryptoKeyIAMPolicyArrayOutput struct{ *pulumi.OutputState }
func (CryptoKeyIAMPolicyArrayOutput) ElementType ¶
func (CryptoKeyIAMPolicyArrayOutput) ElementType() reflect.Type
func (CryptoKeyIAMPolicyArrayOutput) Index ¶
func (o CryptoKeyIAMPolicyArrayOutput) Index(i pulumi.IntInput) CryptoKeyIAMPolicyOutput
func (CryptoKeyIAMPolicyArrayOutput) ToCryptoKeyIAMPolicyArrayOutput ¶
func (o CryptoKeyIAMPolicyArrayOutput) ToCryptoKeyIAMPolicyArrayOutput() CryptoKeyIAMPolicyArrayOutput
func (CryptoKeyIAMPolicyArrayOutput) ToCryptoKeyIAMPolicyArrayOutputWithContext ¶
func (o CryptoKeyIAMPolicyArrayOutput) ToCryptoKeyIAMPolicyArrayOutputWithContext(ctx context.Context) CryptoKeyIAMPolicyArrayOutput
type CryptoKeyIAMPolicyInput ¶
type CryptoKeyIAMPolicyInput interface { pulumi.Input ToCryptoKeyIAMPolicyOutput() CryptoKeyIAMPolicyOutput ToCryptoKeyIAMPolicyOutputWithContext(ctx context.Context) CryptoKeyIAMPolicyOutput }
type CryptoKeyIAMPolicyMap ¶
type CryptoKeyIAMPolicyMap map[string]CryptoKeyIAMPolicyInput
func (CryptoKeyIAMPolicyMap) ElementType ¶
func (CryptoKeyIAMPolicyMap) ElementType() reflect.Type
func (CryptoKeyIAMPolicyMap) ToCryptoKeyIAMPolicyMapOutput ¶
func (i CryptoKeyIAMPolicyMap) ToCryptoKeyIAMPolicyMapOutput() CryptoKeyIAMPolicyMapOutput
func (CryptoKeyIAMPolicyMap) ToCryptoKeyIAMPolicyMapOutputWithContext ¶
func (i CryptoKeyIAMPolicyMap) ToCryptoKeyIAMPolicyMapOutputWithContext(ctx context.Context) CryptoKeyIAMPolicyMapOutput
type CryptoKeyIAMPolicyMapInput ¶
type CryptoKeyIAMPolicyMapInput interface { pulumi.Input ToCryptoKeyIAMPolicyMapOutput() CryptoKeyIAMPolicyMapOutput ToCryptoKeyIAMPolicyMapOutputWithContext(context.Context) CryptoKeyIAMPolicyMapOutput }
CryptoKeyIAMPolicyMapInput is an input type that accepts CryptoKeyIAMPolicyMap and CryptoKeyIAMPolicyMapOutput values. You can construct a concrete instance of `CryptoKeyIAMPolicyMapInput` via:
CryptoKeyIAMPolicyMap{ "key": CryptoKeyIAMPolicyArgs{...} }
type CryptoKeyIAMPolicyMapOutput ¶
type CryptoKeyIAMPolicyMapOutput struct{ *pulumi.OutputState }
func (CryptoKeyIAMPolicyMapOutput) ElementType ¶
func (CryptoKeyIAMPolicyMapOutput) ElementType() reflect.Type
func (CryptoKeyIAMPolicyMapOutput) MapIndex ¶
func (o CryptoKeyIAMPolicyMapOutput) MapIndex(k pulumi.StringInput) CryptoKeyIAMPolicyOutput
func (CryptoKeyIAMPolicyMapOutput) ToCryptoKeyIAMPolicyMapOutput ¶
func (o CryptoKeyIAMPolicyMapOutput) ToCryptoKeyIAMPolicyMapOutput() CryptoKeyIAMPolicyMapOutput
func (CryptoKeyIAMPolicyMapOutput) ToCryptoKeyIAMPolicyMapOutputWithContext ¶
func (o CryptoKeyIAMPolicyMapOutput) ToCryptoKeyIAMPolicyMapOutputWithContext(ctx context.Context) CryptoKeyIAMPolicyMapOutput
type CryptoKeyIAMPolicyOutput ¶
type CryptoKeyIAMPolicyOutput struct{ *pulumi.OutputState }
func (CryptoKeyIAMPolicyOutput) ElementType ¶
func (CryptoKeyIAMPolicyOutput) ElementType() reflect.Type
func (CryptoKeyIAMPolicyOutput) ToCryptoKeyIAMPolicyOutput ¶
func (o CryptoKeyIAMPolicyOutput) ToCryptoKeyIAMPolicyOutput() CryptoKeyIAMPolicyOutput
func (CryptoKeyIAMPolicyOutput) ToCryptoKeyIAMPolicyOutputWithContext ¶
func (o CryptoKeyIAMPolicyOutput) ToCryptoKeyIAMPolicyOutputWithContext(ctx context.Context) CryptoKeyIAMPolicyOutput
type CryptoKeyIAMPolicyState ¶
type CryptoKeyIAMPolicyState struct { // The crypto key ID, in the form // `{project_id}/{location_name}/{key_ring_name}/{crypto_key_name}` or // `{location_name}/{key_ring_name}/{crypto_key_name}`. In the second form, // the provider's project setting will be used as a fallback. CryptoKeyId pulumi.StringPtrInput // (Computed) The etag of the project's IAM policy. Etag pulumi.StringPtrInput // The policy data generated by // a `organizations.getIAMPolicy` data source. PolicyData pulumi.StringPtrInput }
func (CryptoKeyIAMPolicyState) ElementType ¶
func (CryptoKeyIAMPolicyState) ElementType() reflect.Type
type CryptoKeyInput ¶
type CryptoKeyInput interface { pulumi.Input ToCryptoKeyOutput() CryptoKeyOutput ToCryptoKeyOutputWithContext(ctx context.Context) CryptoKeyOutput }
type CryptoKeyMap ¶
type CryptoKeyMap map[string]CryptoKeyInput
func (CryptoKeyMap) ElementType ¶
func (CryptoKeyMap) ElementType() reflect.Type
func (CryptoKeyMap) ToCryptoKeyMapOutput ¶
func (i CryptoKeyMap) ToCryptoKeyMapOutput() CryptoKeyMapOutput
func (CryptoKeyMap) ToCryptoKeyMapOutputWithContext ¶
func (i CryptoKeyMap) ToCryptoKeyMapOutputWithContext(ctx context.Context) CryptoKeyMapOutput
type CryptoKeyMapInput ¶
type CryptoKeyMapInput interface { pulumi.Input ToCryptoKeyMapOutput() CryptoKeyMapOutput ToCryptoKeyMapOutputWithContext(context.Context) CryptoKeyMapOutput }
CryptoKeyMapInput is an input type that accepts CryptoKeyMap and CryptoKeyMapOutput values. You can construct a concrete instance of `CryptoKeyMapInput` via:
CryptoKeyMap{ "key": CryptoKeyArgs{...} }
type CryptoKeyMapOutput ¶
type CryptoKeyMapOutput struct{ *pulumi.OutputState }
func (CryptoKeyMapOutput) ElementType ¶
func (CryptoKeyMapOutput) ElementType() reflect.Type
func (CryptoKeyMapOutput) MapIndex ¶
func (o CryptoKeyMapOutput) MapIndex(k pulumi.StringInput) CryptoKeyOutput
func (CryptoKeyMapOutput) ToCryptoKeyMapOutput ¶
func (o CryptoKeyMapOutput) ToCryptoKeyMapOutput() CryptoKeyMapOutput
func (CryptoKeyMapOutput) ToCryptoKeyMapOutputWithContext ¶
func (o CryptoKeyMapOutput) ToCryptoKeyMapOutputWithContext(ctx context.Context) CryptoKeyMapOutput
type CryptoKeyOutput ¶
type CryptoKeyOutput struct{ *pulumi.OutputState }
func (CryptoKeyOutput) ElementType ¶
func (CryptoKeyOutput) ElementType() reflect.Type
func (CryptoKeyOutput) ToCryptoKeyOutput ¶
func (o CryptoKeyOutput) ToCryptoKeyOutput() CryptoKeyOutput
func (CryptoKeyOutput) ToCryptoKeyOutputWithContext ¶
func (o CryptoKeyOutput) ToCryptoKeyOutputWithContext(ctx context.Context) CryptoKeyOutput
type CryptoKeyState ¶
type CryptoKeyState struct { // The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED. // If not specified at creation time, the default duration is 24 hours. DestroyScheduledDuration pulumi.StringPtrInput // Whether this key may contain imported versions only. ImportOnly pulumi.BoolPtrInput // The KeyRing that this key belongs to. // Format: `'projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}'`. KeyRing pulumi.StringPtrInput // Labels with user-defined metadata to apply to this resource. Labels pulumi.StringMapInput // The resource name for the CryptoKey. Name pulumi.StringPtrInput // The immutable purpose of this CryptoKey. See the // [purpose reference](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys#CryptoKeyPurpose) // for possible inputs. // Default value is `ENCRYPT_DECRYPT`. // Possible values are `ENCRYPT_DECRYPT`, `ASYMMETRIC_SIGN`, and `ASYMMETRIC_DECRYPT`. Purpose pulumi.StringPtrInput // Every time this period passes, generate a new CryptoKeyVersion and set it as the primary. // The first rotation will take place after the specified period. The rotation period has // the format of a decimal number with up to 9 fractional digits, followed by the // letter `s` (seconds). It must be greater than a day (ie, 86400). RotationPeriod pulumi.StringPtrInput // If set to true, the request will create a CryptoKey without any CryptoKeyVersions. // You must use the `kms.KeyRingImportJob` resource to import the CryptoKeyVersion. SkipInitialVersionCreation pulumi.BoolPtrInput // A template describing settings for new crypto key versions. // Structure is documented below. VersionTemplate CryptoKeyVersionTemplatePtrInput }
func (CryptoKeyState) ElementType ¶
func (CryptoKeyState) ElementType() reflect.Type
type CryptoKeyVersionTemplate ¶
type CryptoKeyVersionTemplate struct { // The algorithm to use when creating a version based on this template. // See the [algorithm reference](https://cloud.google.com/kms/docs/reference/rest/v1/CryptoKeyVersionAlgorithm) for possible inputs. Algorithm string `pulumi:"algorithm"` // The protection level to use when creating a version based on this template. Possible values include "SOFTWARE", "HSM", "EXTERNAL". Defaults to "SOFTWARE". ProtectionLevel *string `pulumi:"protectionLevel"` }
type CryptoKeyVersionTemplateArgs ¶
type CryptoKeyVersionTemplateArgs struct { // The algorithm to use when creating a version based on this template. // See the [algorithm reference](https://cloud.google.com/kms/docs/reference/rest/v1/CryptoKeyVersionAlgorithm) for possible inputs. Algorithm pulumi.StringInput `pulumi:"algorithm"` // The protection level to use when creating a version based on this template. Possible values include "SOFTWARE", "HSM", "EXTERNAL". Defaults to "SOFTWARE". ProtectionLevel pulumi.StringPtrInput `pulumi:"protectionLevel"` }
func (CryptoKeyVersionTemplateArgs) ElementType ¶
func (CryptoKeyVersionTemplateArgs) ElementType() reflect.Type
func (CryptoKeyVersionTemplateArgs) ToCryptoKeyVersionTemplateOutput ¶
func (i CryptoKeyVersionTemplateArgs) ToCryptoKeyVersionTemplateOutput() CryptoKeyVersionTemplateOutput
func (CryptoKeyVersionTemplateArgs) ToCryptoKeyVersionTemplateOutputWithContext ¶
func (i CryptoKeyVersionTemplateArgs) ToCryptoKeyVersionTemplateOutputWithContext(ctx context.Context) CryptoKeyVersionTemplateOutput
func (CryptoKeyVersionTemplateArgs) ToCryptoKeyVersionTemplatePtrOutput ¶
func (i CryptoKeyVersionTemplateArgs) ToCryptoKeyVersionTemplatePtrOutput() CryptoKeyVersionTemplatePtrOutput
func (CryptoKeyVersionTemplateArgs) ToCryptoKeyVersionTemplatePtrOutputWithContext ¶
func (i CryptoKeyVersionTemplateArgs) ToCryptoKeyVersionTemplatePtrOutputWithContext(ctx context.Context) CryptoKeyVersionTemplatePtrOutput
type CryptoKeyVersionTemplateInput ¶
type CryptoKeyVersionTemplateInput interface { pulumi.Input ToCryptoKeyVersionTemplateOutput() CryptoKeyVersionTemplateOutput ToCryptoKeyVersionTemplateOutputWithContext(context.Context) CryptoKeyVersionTemplateOutput }
CryptoKeyVersionTemplateInput is an input type that accepts CryptoKeyVersionTemplateArgs and CryptoKeyVersionTemplateOutput values. You can construct a concrete instance of `CryptoKeyVersionTemplateInput` via:
CryptoKeyVersionTemplateArgs{...}
type CryptoKeyVersionTemplateOutput ¶
type CryptoKeyVersionTemplateOutput struct{ *pulumi.OutputState }
func (CryptoKeyVersionTemplateOutput) Algorithm ¶
func (o CryptoKeyVersionTemplateOutput) Algorithm() pulumi.StringOutput
The algorithm to use when creating a version based on this template. See the [algorithm reference](https://cloud.google.com/kms/docs/reference/rest/v1/CryptoKeyVersionAlgorithm) for possible inputs.
func (CryptoKeyVersionTemplateOutput) ElementType ¶
func (CryptoKeyVersionTemplateOutput) ElementType() reflect.Type
func (CryptoKeyVersionTemplateOutput) ProtectionLevel ¶
func (o CryptoKeyVersionTemplateOutput) ProtectionLevel() pulumi.StringPtrOutput
The protection level to use when creating a version based on this template. Possible values include "SOFTWARE", "HSM", "EXTERNAL". Defaults to "SOFTWARE".
func (CryptoKeyVersionTemplateOutput) ToCryptoKeyVersionTemplateOutput ¶
func (o CryptoKeyVersionTemplateOutput) ToCryptoKeyVersionTemplateOutput() CryptoKeyVersionTemplateOutput
func (CryptoKeyVersionTemplateOutput) ToCryptoKeyVersionTemplateOutputWithContext ¶
func (o CryptoKeyVersionTemplateOutput) ToCryptoKeyVersionTemplateOutputWithContext(ctx context.Context) CryptoKeyVersionTemplateOutput
func (CryptoKeyVersionTemplateOutput) ToCryptoKeyVersionTemplatePtrOutput ¶
func (o CryptoKeyVersionTemplateOutput) ToCryptoKeyVersionTemplatePtrOutput() CryptoKeyVersionTemplatePtrOutput
func (CryptoKeyVersionTemplateOutput) ToCryptoKeyVersionTemplatePtrOutputWithContext ¶
func (o CryptoKeyVersionTemplateOutput) ToCryptoKeyVersionTemplatePtrOutputWithContext(ctx context.Context) CryptoKeyVersionTemplatePtrOutput
type CryptoKeyVersionTemplatePtrInput ¶
type CryptoKeyVersionTemplatePtrInput interface { pulumi.Input ToCryptoKeyVersionTemplatePtrOutput() CryptoKeyVersionTemplatePtrOutput ToCryptoKeyVersionTemplatePtrOutputWithContext(context.Context) CryptoKeyVersionTemplatePtrOutput }
CryptoKeyVersionTemplatePtrInput is an input type that accepts CryptoKeyVersionTemplateArgs, CryptoKeyVersionTemplatePtr and CryptoKeyVersionTemplatePtrOutput values. You can construct a concrete instance of `CryptoKeyVersionTemplatePtrInput` via:
CryptoKeyVersionTemplateArgs{...} or: nil
func CryptoKeyVersionTemplatePtr ¶
func CryptoKeyVersionTemplatePtr(v *CryptoKeyVersionTemplateArgs) CryptoKeyVersionTemplatePtrInput
type CryptoKeyVersionTemplatePtrOutput ¶
type CryptoKeyVersionTemplatePtrOutput struct{ *pulumi.OutputState }
func (CryptoKeyVersionTemplatePtrOutput) Algorithm ¶
func (o CryptoKeyVersionTemplatePtrOutput) Algorithm() pulumi.StringPtrOutput
The algorithm to use when creating a version based on this template. See the [algorithm reference](https://cloud.google.com/kms/docs/reference/rest/v1/CryptoKeyVersionAlgorithm) for possible inputs.
func (CryptoKeyVersionTemplatePtrOutput) Elem ¶
func (o CryptoKeyVersionTemplatePtrOutput) Elem() CryptoKeyVersionTemplateOutput
func (CryptoKeyVersionTemplatePtrOutput) ElementType ¶
func (CryptoKeyVersionTemplatePtrOutput) ElementType() reflect.Type
func (CryptoKeyVersionTemplatePtrOutput) ProtectionLevel ¶
func (o CryptoKeyVersionTemplatePtrOutput) ProtectionLevel() pulumi.StringPtrOutput
The protection level to use when creating a version based on this template. Possible values include "SOFTWARE", "HSM", "EXTERNAL". Defaults to "SOFTWARE".
func (CryptoKeyVersionTemplatePtrOutput) ToCryptoKeyVersionTemplatePtrOutput ¶
func (o CryptoKeyVersionTemplatePtrOutput) ToCryptoKeyVersionTemplatePtrOutput() CryptoKeyVersionTemplatePtrOutput
func (CryptoKeyVersionTemplatePtrOutput) ToCryptoKeyVersionTemplatePtrOutputWithContext ¶
func (o CryptoKeyVersionTemplatePtrOutput) ToCryptoKeyVersionTemplatePtrOutputWithContext(ctx context.Context) CryptoKeyVersionTemplatePtrOutput
type GetKMSCryptoKeyArgs ¶
type GetKMSCryptoKeyArgs struct { // The `id` of the Google Cloud Platform KeyRing to which the key belongs. KeyRing string `pulumi:"keyRing"` // The CryptoKey's name. // A CryptoKey’s name belonging to the specified Google Cloud Platform KeyRing and match the regular expression `[a-zA-Z0-9_-]{1,63}` Name string `pulumi:"name"` }
A collection of arguments for invoking getKMSCryptoKey.
type GetKMSCryptoKeyOutputArgs ¶
type GetKMSCryptoKeyOutputArgs struct { // The `id` of the Google Cloud Platform KeyRing to which the key belongs. KeyRing pulumi.StringInput `pulumi:"keyRing"` // The CryptoKey's name. // A CryptoKey’s name belonging to the specified Google Cloud Platform KeyRing and match the regular expression `[a-zA-Z0-9_-]{1,63}` Name pulumi.StringInput `pulumi:"name"` }
A collection of arguments for invoking getKMSCryptoKey.
func (GetKMSCryptoKeyOutputArgs) ElementType ¶
func (GetKMSCryptoKeyOutputArgs) ElementType() reflect.Type
type GetKMSCryptoKeyResult ¶
type GetKMSCryptoKeyResult struct { DestroyScheduledDuration string `pulumi:"destroyScheduledDuration"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` ImportOnly bool `pulumi:"importOnly"` KeyRing string `pulumi:"keyRing"` Labels map[string]string `pulumi:"labels"` Name string `pulumi:"name"` // Defines the cryptographic capabilities of the key. Purpose string `pulumi:"purpose"` // Every time this period passes, generate a new CryptoKeyVersion and set it as // the primary. The first rotation will take place after the specified period. The rotation period has the format // of a decimal number with up to 9 fractional digits, followed by the letter s (seconds). RotationPeriod string `pulumi:"rotationPeriod"` SkipInitialVersionCreation bool `pulumi:"skipInitialVersionCreation"` VersionTemplates []GetKMSCryptoKeyVersionTemplate `pulumi:"versionTemplates"` }
A collection of values returned by getKMSCryptoKey.
func GetKMSCryptoKey ¶
func GetKMSCryptoKey(ctx *pulumi.Context, args *GetKMSCryptoKeyArgs, opts ...pulumi.InvokeOption) (*GetKMSCryptoKeyResult, error)
Provides access to a Google Cloud Platform KMS CryptoKey. For more information see [the official documentation](https://cloud.google.com/kms/docs/object-hierarchy#key) and [API](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys).
A CryptoKey is an interface to key material which can be used to encrypt and decrypt data. A CryptoKey belongs to a Google Cloud KMS KeyRing.
## Example Usage
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { myKeyRing, err := kms.GetKMSKeyRing(ctx, &kms.GetKMSKeyRingArgs{ Name: "my-key-ring", Location: "us-central1", }, nil) if err != nil { return err } _, err = kms.GetKMSCryptoKey(ctx, &kms.GetKMSCryptoKeyArgs{ Name: "my-crypto-key", KeyRing: myKeyRing.Id, }, nil) if err != nil { return err } return nil }) }
```
type GetKMSCryptoKeyResultOutput ¶
type GetKMSCryptoKeyResultOutput struct{ *pulumi.OutputState }
A collection of values returned by getKMSCryptoKey.
func GetKMSCryptoKeyOutput ¶
func GetKMSCryptoKeyOutput(ctx *pulumi.Context, args GetKMSCryptoKeyOutputArgs, opts ...pulumi.InvokeOption) GetKMSCryptoKeyResultOutput
func (GetKMSCryptoKeyResultOutput) DestroyScheduledDuration ¶
func (o GetKMSCryptoKeyResultOutput) DestroyScheduledDuration() pulumi.StringOutput
func (GetKMSCryptoKeyResultOutput) ElementType ¶
func (GetKMSCryptoKeyResultOutput) ElementType() reflect.Type
func (GetKMSCryptoKeyResultOutput) Id ¶
func (o GetKMSCryptoKeyResultOutput) Id() pulumi.StringOutput
The provider-assigned unique ID for this managed resource.
func (GetKMSCryptoKeyResultOutput) ImportOnly ¶
func (o GetKMSCryptoKeyResultOutput) ImportOnly() pulumi.BoolOutput
func (GetKMSCryptoKeyResultOutput) KeyRing ¶
func (o GetKMSCryptoKeyResultOutput) KeyRing() pulumi.StringOutput
func (GetKMSCryptoKeyResultOutput) Labels ¶
func (o GetKMSCryptoKeyResultOutput) Labels() pulumi.StringMapOutput
func (GetKMSCryptoKeyResultOutput) Name ¶
func (o GetKMSCryptoKeyResultOutput) Name() pulumi.StringOutput
func (GetKMSCryptoKeyResultOutput) Purpose ¶
func (o GetKMSCryptoKeyResultOutput) Purpose() pulumi.StringOutput
Defines the cryptographic capabilities of the key.
func (GetKMSCryptoKeyResultOutput) RotationPeriod ¶
func (o GetKMSCryptoKeyResultOutput) RotationPeriod() pulumi.StringOutput
Every time this period passes, generate a new CryptoKeyVersion and set it as the primary. The first rotation will take place after the specified period. The rotation period has the format of a decimal number with up to 9 fractional digits, followed by the letter s (seconds).
func (GetKMSCryptoKeyResultOutput) SkipInitialVersionCreation ¶
func (o GetKMSCryptoKeyResultOutput) SkipInitialVersionCreation() pulumi.BoolOutput
func (GetKMSCryptoKeyResultOutput) ToGetKMSCryptoKeyResultOutput ¶
func (o GetKMSCryptoKeyResultOutput) ToGetKMSCryptoKeyResultOutput() GetKMSCryptoKeyResultOutput
func (GetKMSCryptoKeyResultOutput) ToGetKMSCryptoKeyResultOutputWithContext ¶
func (o GetKMSCryptoKeyResultOutput) ToGetKMSCryptoKeyResultOutputWithContext(ctx context.Context) GetKMSCryptoKeyResultOutput
func (GetKMSCryptoKeyResultOutput) VersionTemplates ¶
func (o GetKMSCryptoKeyResultOutput) VersionTemplates() GetKMSCryptoKeyVersionTemplateArrayOutput
type GetKMSCryptoKeyVersionArgs ¶
type GetKMSCryptoKeyVersionArgs struct { // The `id` of the Google Cloud Platform CryptoKey to which the key version belongs. This is also the `id` field of the // `kms.CryptoKey` resource/datasource. CryptoKey string `pulumi:"cryptoKey"` // The version number for this CryptoKeyVersion. Defaults to `1`. Version *int `pulumi:"version"` }
A collection of arguments for invoking getKMSCryptoKeyVersion.
type GetKMSCryptoKeyVersionOutputArgs ¶
type GetKMSCryptoKeyVersionOutputArgs struct { // The `id` of the Google Cloud Platform CryptoKey to which the key version belongs. This is also the `id` field of the // `kms.CryptoKey` resource/datasource. CryptoKey pulumi.StringInput `pulumi:"cryptoKey"` // The version number for this CryptoKeyVersion. Defaults to `1`. Version pulumi.IntPtrInput `pulumi:"version"` }
A collection of arguments for invoking getKMSCryptoKeyVersion.
func (GetKMSCryptoKeyVersionOutputArgs) ElementType ¶
func (GetKMSCryptoKeyVersionOutputArgs) ElementType() reflect.Type
type GetKMSCryptoKeyVersionPublicKey ¶
type GetKMSCryptoKeyVersionPublicKey struct { // The CryptoKeyVersionAlgorithm that this CryptoKeyVersion supports. Algorithm string `pulumi:"algorithm"` // The public key, encoded in PEM format. For more information, see the RFC 7468 sections for General Considerations and Textual Encoding of Subject Public Key Info. Pem string `pulumi:"pem"` }
type GetKMSCryptoKeyVersionPublicKeyArgs ¶
type GetKMSCryptoKeyVersionPublicKeyArgs struct { // The CryptoKeyVersionAlgorithm that this CryptoKeyVersion supports. Algorithm pulumi.StringInput `pulumi:"algorithm"` // The public key, encoded in PEM format. For more information, see the RFC 7468 sections for General Considerations and Textual Encoding of Subject Public Key Info. Pem pulumi.StringInput `pulumi:"pem"` }
func (GetKMSCryptoKeyVersionPublicKeyArgs) ElementType ¶
func (GetKMSCryptoKeyVersionPublicKeyArgs) ElementType() reflect.Type
func (GetKMSCryptoKeyVersionPublicKeyArgs) ToGetKMSCryptoKeyVersionPublicKeyOutput ¶
func (i GetKMSCryptoKeyVersionPublicKeyArgs) ToGetKMSCryptoKeyVersionPublicKeyOutput() GetKMSCryptoKeyVersionPublicKeyOutput
func (GetKMSCryptoKeyVersionPublicKeyArgs) ToGetKMSCryptoKeyVersionPublicKeyOutputWithContext ¶
func (i GetKMSCryptoKeyVersionPublicKeyArgs) ToGetKMSCryptoKeyVersionPublicKeyOutputWithContext(ctx context.Context) GetKMSCryptoKeyVersionPublicKeyOutput
type GetKMSCryptoKeyVersionPublicKeyArray ¶
type GetKMSCryptoKeyVersionPublicKeyArray []GetKMSCryptoKeyVersionPublicKeyInput
func (GetKMSCryptoKeyVersionPublicKeyArray) ElementType ¶
func (GetKMSCryptoKeyVersionPublicKeyArray) ElementType() reflect.Type
func (GetKMSCryptoKeyVersionPublicKeyArray) ToGetKMSCryptoKeyVersionPublicKeyArrayOutput ¶
func (i GetKMSCryptoKeyVersionPublicKeyArray) ToGetKMSCryptoKeyVersionPublicKeyArrayOutput() GetKMSCryptoKeyVersionPublicKeyArrayOutput
func (GetKMSCryptoKeyVersionPublicKeyArray) ToGetKMSCryptoKeyVersionPublicKeyArrayOutputWithContext ¶
func (i GetKMSCryptoKeyVersionPublicKeyArray) ToGetKMSCryptoKeyVersionPublicKeyArrayOutputWithContext(ctx context.Context) GetKMSCryptoKeyVersionPublicKeyArrayOutput
type GetKMSCryptoKeyVersionPublicKeyArrayInput ¶
type GetKMSCryptoKeyVersionPublicKeyArrayInput interface { pulumi.Input ToGetKMSCryptoKeyVersionPublicKeyArrayOutput() GetKMSCryptoKeyVersionPublicKeyArrayOutput ToGetKMSCryptoKeyVersionPublicKeyArrayOutputWithContext(context.Context) GetKMSCryptoKeyVersionPublicKeyArrayOutput }
GetKMSCryptoKeyVersionPublicKeyArrayInput is an input type that accepts GetKMSCryptoKeyVersionPublicKeyArray and GetKMSCryptoKeyVersionPublicKeyArrayOutput values. You can construct a concrete instance of `GetKMSCryptoKeyVersionPublicKeyArrayInput` via:
GetKMSCryptoKeyVersionPublicKeyArray{ GetKMSCryptoKeyVersionPublicKeyArgs{...} }
type GetKMSCryptoKeyVersionPublicKeyArrayOutput ¶
type GetKMSCryptoKeyVersionPublicKeyArrayOutput struct{ *pulumi.OutputState }
func (GetKMSCryptoKeyVersionPublicKeyArrayOutput) ElementType ¶
func (GetKMSCryptoKeyVersionPublicKeyArrayOutput) ElementType() reflect.Type
func (GetKMSCryptoKeyVersionPublicKeyArrayOutput) ToGetKMSCryptoKeyVersionPublicKeyArrayOutput ¶
func (o GetKMSCryptoKeyVersionPublicKeyArrayOutput) ToGetKMSCryptoKeyVersionPublicKeyArrayOutput() GetKMSCryptoKeyVersionPublicKeyArrayOutput
func (GetKMSCryptoKeyVersionPublicKeyArrayOutput) ToGetKMSCryptoKeyVersionPublicKeyArrayOutputWithContext ¶
func (o GetKMSCryptoKeyVersionPublicKeyArrayOutput) ToGetKMSCryptoKeyVersionPublicKeyArrayOutputWithContext(ctx context.Context) GetKMSCryptoKeyVersionPublicKeyArrayOutput
type GetKMSCryptoKeyVersionPublicKeyInput ¶
type GetKMSCryptoKeyVersionPublicKeyInput interface { pulumi.Input ToGetKMSCryptoKeyVersionPublicKeyOutput() GetKMSCryptoKeyVersionPublicKeyOutput ToGetKMSCryptoKeyVersionPublicKeyOutputWithContext(context.Context) GetKMSCryptoKeyVersionPublicKeyOutput }
GetKMSCryptoKeyVersionPublicKeyInput is an input type that accepts GetKMSCryptoKeyVersionPublicKeyArgs and GetKMSCryptoKeyVersionPublicKeyOutput values. You can construct a concrete instance of `GetKMSCryptoKeyVersionPublicKeyInput` via:
GetKMSCryptoKeyVersionPublicKeyArgs{...}
type GetKMSCryptoKeyVersionPublicKeyOutput ¶
type GetKMSCryptoKeyVersionPublicKeyOutput struct{ *pulumi.OutputState }
func (GetKMSCryptoKeyVersionPublicKeyOutput) Algorithm ¶
func (o GetKMSCryptoKeyVersionPublicKeyOutput) Algorithm() pulumi.StringOutput
The CryptoKeyVersionAlgorithm that this CryptoKeyVersion supports.
func (GetKMSCryptoKeyVersionPublicKeyOutput) ElementType ¶
func (GetKMSCryptoKeyVersionPublicKeyOutput) ElementType() reflect.Type
func (GetKMSCryptoKeyVersionPublicKeyOutput) Pem ¶
func (o GetKMSCryptoKeyVersionPublicKeyOutput) Pem() pulumi.StringOutput
The public key, encoded in PEM format. For more information, see the RFC 7468 sections for General Considerations and Textual Encoding of Subject Public Key Info.
func (GetKMSCryptoKeyVersionPublicKeyOutput) ToGetKMSCryptoKeyVersionPublicKeyOutput ¶
func (o GetKMSCryptoKeyVersionPublicKeyOutput) ToGetKMSCryptoKeyVersionPublicKeyOutput() GetKMSCryptoKeyVersionPublicKeyOutput
func (GetKMSCryptoKeyVersionPublicKeyOutput) ToGetKMSCryptoKeyVersionPublicKeyOutputWithContext ¶
func (o GetKMSCryptoKeyVersionPublicKeyOutput) ToGetKMSCryptoKeyVersionPublicKeyOutputWithContext(ctx context.Context) GetKMSCryptoKeyVersionPublicKeyOutput
type GetKMSCryptoKeyVersionResult ¶
type GetKMSCryptoKeyVersionResult struct { // The CryptoKeyVersionAlgorithm that this CryptoKeyVersion supports. Algorithm string `pulumi:"algorithm"` CryptoKey string `pulumi:"cryptoKey"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` // The resource name for this CryptoKeyVersion in the format `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*` Name string `pulumi:"name"` // The ProtectionLevel describing how crypto operations are performed with this CryptoKeyVersion. See the [protectionLevel reference](https://cloud.google.com/kms/docs/reference/rest/v1/ProtectionLevel) for possible outputs. ProtectionLevel string `pulumi:"protectionLevel"` // If the enclosing CryptoKey has purpose `ASYMMETRIC_SIGN` or `ASYMMETRIC_DECRYPT`, this block contains details about the public key associated to this CryptoKeyVersion. Structure is documented below. PublicKeys []GetKMSCryptoKeyVersionPublicKey `pulumi:"publicKeys"` // The current state of the CryptoKeyVersion. See the [state reference](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions#CryptoKeyVersion.CryptoKeyVersionState) for possible outputs. State string `pulumi:"state"` Version *int `pulumi:"version"` }
A collection of values returned by getKMSCryptoKeyVersion.
func GetKMSCryptoKeyVersion ¶
func GetKMSCryptoKeyVersion(ctx *pulumi.Context, args *GetKMSCryptoKeyVersionArgs, opts ...pulumi.InvokeOption) (*GetKMSCryptoKeyVersionResult, error)
Provides access to a Google Cloud Platform KMS CryptoKeyVersion. For more information see [the official documentation](https://cloud.google.com/kms/docs/object-hierarchy#key_version) and [API](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions).
A CryptoKeyVersion represents an individual cryptographic key, and the associated key material.
## Example Usage
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { myKeyRing, err := kms.GetKMSKeyRing(ctx, &kms.GetKMSKeyRingArgs{ Name: "my-key-ring", Location: "us-central1", }, nil) if err != nil { return err } _, err = kms.GetKMSCryptoKey(ctx, &kms.GetKMSCryptoKeyArgs{ Name: "my-crypto-key", KeyRing: myKeyRing.Id, }, nil) if err != nil { return err } _, err = kms.GetKMSCryptoKeyVersion(ctx, &kms.GetKMSCryptoKeyVersionArgs{ CryptoKey: data.Google_kms_crypto_key.My_key.Id, }, nil) if err != nil { return err } return nil }) }
```
type GetKMSCryptoKeyVersionResultOutput ¶
type GetKMSCryptoKeyVersionResultOutput struct{ *pulumi.OutputState }
A collection of values returned by getKMSCryptoKeyVersion.
func GetKMSCryptoKeyVersionOutput ¶
func GetKMSCryptoKeyVersionOutput(ctx *pulumi.Context, args GetKMSCryptoKeyVersionOutputArgs, opts ...pulumi.InvokeOption) GetKMSCryptoKeyVersionResultOutput
func (GetKMSCryptoKeyVersionResultOutput) Algorithm ¶
func (o GetKMSCryptoKeyVersionResultOutput) Algorithm() pulumi.StringOutput
The CryptoKeyVersionAlgorithm that this CryptoKeyVersion supports.
func (GetKMSCryptoKeyVersionResultOutput) CryptoKey ¶
func (o GetKMSCryptoKeyVersionResultOutput) CryptoKey() pulumi.StringOutput
func (GetKMSCryptoKeyVersionResultOutput) ElementType ¶
func (GetKMSCryptoKeyVersionResultOutput) ElementType() reflect.Type
func (GetKMSCryptoKeyVersionResultOutput) Id ¶
func (o GetKMSCryptoKeyVersionResultOutput) Id() pulumi.StringOutput
The provider-assigned unique ID for this managed resource.
func (GetKMSCryptoKeyVersionResultOutput) Name ¶
func (o GetKMSCryptoKeyVersionResultOutput) Name() pulumi.StringOutput
The resource name for this CryptoKeyVersion in the format `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`
func (GetKMSCryptoKeyVersionResultOutput) ProtectionLevel ¶
func (o GetKMSCryptoKeyVersionResultOutput) ProtectionLevel() pulumi.StringOutput
The ProtectionLevel describing how crypto operations are performed with this CryptoKeyVersion. See the [protectionLevel reference](https://cloud.google.com/kms/docs/reference/rest/v1/ProtectionLevel) for possible outputs.
func (GetKMSCryptoKeyVersionResultOutput) PublicKeys ¶
func (o GetKMSCryptoKeyVersionResultOutput) PublicKeys() GetKMSCryptoKeyVersionPublicKeyArrayOutput
If the enclosing CryptoKey has purpose `ASYMMETRIC_SIGN` or `ASYMMETRIC_DECRYPT`, this block contains details about the public key associated to this CryptoKeyVersion. Structure is documented below.
func (GetKMSCryptoKeyVersionResultOutput) State ¶
func (o GetKMSCryptoKeyVersionResultOutput) State() pulumi.StringOutput
The current state of the CryptoKeyVersion. See the [state reference](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions#CryptoKeyVersion.CryptoKeyVersionState) for possible outputs.
func (GetKMSCryptoKeyVersionResultOutput) ToGetKMSCryptoKeyVersionResultOutput ¶
func (o GetKMSCryptoKeyVersionResultOutput) ToGetKMSCryptoKeyVersionResultOutput() GetKMSCryptoKeyVersionResultOutput
func (GetKMSCryptoKeyVersionResultOutput) ToGetKMSCryptoKeyVersionResultOutputWithContext ¶
func (o GetKMSCryptoKeyVersionResultOutput) ToGetKMSCryptoKeyVersionResultOutputWithContext(ctx context.Context) GetKMSCryptoKeyVersionResultOutput
func (GetKMSCryptoKeyVersionResultOutput) Version ¶
func (o GetKMSCryptoKeyVersionResultOutput) Version() pulumi.IntPtrOutput
type GetKMSCryptoKeyVersionTemplateArgs ¶
type GetKMSCryptoKeyVersionTemplateArgs struct { Algorithm pulumi.StringInput `pulumi:"algorithm"` ProtectionLevel pulumi.StringInput `pulumi:"protectionLevel"` }
func (GetKMSCryptoKeyVersionTemplateArgs) ElementType ¶
func (GetKMSCryptoKeyVersionTemplateArgs) ElementType() reflect.Type
func (GetKMSCryptoKeyVersionTemplateArgs) ToGetKMSCryptoKeyVersionTemplateOutput ¶
func (i GetKMSCryptoKeyVersionTemplateArgs) ToGetKMSCryptoKeyVersionTemplateOutput() GetKMSCryptoKeyVersionTemplateOutput
func (GetKMSCryptoKeyVersionTemplateArgs) ToGetKMSCryptoKeyVersionTemplateOutputWithContext ¶
func (i GetKMSCryptoKeyVersionTemplateArgs) ToGetKMSCryptoKeyVersionTemplateOutputWithContext(ctx context.Context) GetKMSCryptoKeyVersionTemplateOutput
type GetKMSCryptoKeyVersionTemplateArray ¶
type GetKMSCryptoKeyVersionTemplateArray []GetKMSCryptoKeyVersionTemplateInput
func (GetKMSCryptoKeyVersionTemplateArray) ElementType ¶
func (GetKMSCryptoKeyVersionTemplateArray) ElementType() reflect.Type
func (GetKMSCryptoKeyVersionTemplateArray) ToGetKMSCryptoKeyVersionTemplateArrayOutput ¶
func (i GetKMSCryptoKeyVersionTemplateArray) ToGetKMSCryptoKeyVersionTemplateArrayOutput() GetKMSCryptoKeyVersionTemplateArrayOutput
func (GetKMSCryptoKeyVersionTemplateArray) ToGetKMSCryptoKeyVersionTemplateArrayOutputWithContext ¶
func (i GetKMSCryptoKeyVersionTemplateArray) ToGetKMSCryptoKeyVersionTemplateArrayOutputWithContext(ctx context.Context) GetKMSCryptoKeyVersionTemplateArrayOutput
type GetKMSCryptoKeyVersionTemplateArrayInput ¶
type GetKMSCryptoKeyVersionTemplateArrayInput interface { pulumi.Input ToGetKMSCryptoKeyVersionTemplateArrayOutput() GetKMSCryptoKeyVersionTemplateArrayOutput ToGetKMSCryptoKeyVersionTemplateArrayOutputWithContext(context.Context) GetKMSCryptoKeyVersionTemplateArrayOutput }
GetKMSCryptoKeyVersionTemplateArrayInput is an input type that accepts GetKMSCryptoKeyVersionTemplateArray and GetKMSCryptoKeyVersionTemplateArrayOutput values. You can construct a concrete instance of `GetKMSCryptoKeyVersionTemplateArrayInput` via:
GetKMSCryptoKeyVersionTemplateArray{ GetKMSCryptoKeyVersionTemplateArgs{...} }
type GetKMSCryptoKeyVersionTemplateArrayOutput ¶
type GetKMSCryptoKeyVersionTemplateArrayOutput struct{ *pulumi.OutputState }
func (GetKMSCryptoKeyVersionTemplateArrayOutput) ElementType ¶
func (GetKMSCryptoKeyVersionTemplateArrayOutput) ElementType() reflect.Type
func (GetKMSCryptoKeyVersionTemplateArrayOutput) ToGetKMSCryptoKeyVersionTemplateArrayOutput ¶
func (o GetKMSCryptoKeyVersionTemplateArrayOutput) ToGetKMSCryptoKeyVersionTemplateArrayOutput() GetKMSCryptoKeyVersionTemplateArrayOutput
func (GetKMSCryptoKeyVersionTemplateArrayOutput) ToGetKMSCryptoKeyVersionTemplateArrayOutputWithContext ¶
func (o GetKMSCryptoKeyVersionTemplateArrayOutput) ToGetKMSCryptoKeyVersionTemplateArrayOutputWithContext(ctx context.Context) GetKMSCryptoKeyVersionTemplateArrayOutput
type GetKMSCryptoKeyVersionTemplateInput ¶
type GetKMSCryptoKeyVersionTemplateInput interface { pulumi.Input ToGetKMSCryptoKeyVersionTemplateOutput() GetKMSCryptoKeyVersionTemplateOutput ToGetKMSCryptoKeyVersionTemplateOutputWithContext(context.Context) GetKMSCryptoKeyVersionTemplateOutput }
GetKMSCryptoKeyVersionTemplateInput is an input type that accepts GetKMSCryptoKeyVersionTemplateArgs and GetKMSCryptoKeyVersionTemplateOutput values. You can construct a concrete instance of `GetKMSCryptoKeyVersionTemplateInput` via:
GetKMSCryptoKeyVersionTemplateArgs{...}
type GetKMSCryptoKeyVersionTemplateOutput ¶
type GetKMSCryptoKeyVersionTemplateOutput struct{ *pulumi.OutputState }
func (GetKMSCryptoKeyVersionTemplateOutput) Algorithm ¶
func (o GetKMSCryptoKeyVersionTemplateOutput) Algorithm() pulumi.StringOutput
func (GetKMSCryptoKeyVersionTemplateOutput) ElementType ¶
func (GetKMSCryptoKeyVersionTemplateOutput) ElementType() reflect.Type
func (GetKMSCryptoKeyVersionTemplateOutput) ProtectionLevel ¶
func (o GetKMSCryptoKeyVersionTemplateOutput) ProtectionLevel() pulumi.StringOutput
func (GetKMSCryptoKeyVersionTemplateOutput) ToGetKMSCryptoKeyVersionTemplateOutput ¶
func (o GetKMSCryptoKeyVersionTemplateOutput) ToGetKMSCryptoKeyVersionTemplateOutput() GetKMSCryptoKeyVersionTemplateOutput
func (GetKMSCryptoKeyVersionTemplateOutput) ToGetKMSCryptoKeyVersionTemplateOutputWithContext ¶
func (o GetKMSCryptoKeyVersionTemplateOutput) ToGetKMSCryptoKeyVersionTemplateOutputWithContext(ctx context.Context) GetKMSCryptoKeyVersionTemplateOutput
type GetKMSKeyRingArgs ¶
type GetKMSKeyRingArgs struct { // The Google Cloud Platform location for the KeyRing. // A full list of valid locations can be found by running `gcloud kms locations list`. Location string `pulumi:"location"` // The KeyRing's name. // A KeyRing name must exist within the provided location and match the regular expression `[a-zA-Z0-9_-]{1,63}` Name string `pulumi:"name"` // The project in which the resource belongs. If it // is not provided, the provider project is used. Project *string `pulumi:"project"` }
A collection of arguments for invoking getKMSKeyRing.
type GetKMSKeyRingOutputArgs ¶
type GetKMSKeyRingOutputArgs struct { // The Google Cloud Platform location for the KeyRing. // A full list of valid locations can be found by running `gcloud kms locations list`. Location pulumi.StringInput `pulumi:"location"` // The KeyRing's name. // A KeyRing name must exist within the provided location and match the regular expression `[a-zA-Z0-9_-]{1,63}` Name pulumi.StringInput `pulumi:"name"` // The project in which the resource belongs. If it // is not provided, the provider project is used. Project pulumi.StringPtrInput `pulumi:"project"` }
A collection of arguments for invoking getKMSKeyRing.
func (GetKMSKeyRingOutputArgs) ElementType ¶
func (GetKMSKeyRingOutputArgs) ElementType() reflect.Type
type GetKMSKeyRingResult ¶
type GetKMSKeyRingResult struct { // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` Location string `pulumi:"location"` Name string `pulumi:"name"` Project *string `pulumi:"project"` }
A collection of values returned by getKMSKeyRing.
func GetKMSKeyRing ¶
func GetKMSKeyRing(ctx *pulumi.Context, args *GetKMSKeyRingArgs, opts ...pulumi.InvokeOption) (*GetKMSKeyRingResult, error)
Provides access to Google Cloud Platform KMS KeyRing. For more information see [the official documentation](https://cloud.google.com/kms/docs/object-hierarchy#key_ring) and [API](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings).
A KeyRing is a grouping of CryptoKeys for organizational purposes. A KeyRing belongs to a Google Cloud Platform Project and resides in a specific location.
## Example Usage
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := kms.GetKMSKeyRing(ctx, &kms.GetKMSKeyRingArgs{ Location: "us-central1", Name: "my-key-ring", }, nil) if err != nil { return err } return nil }) }
```
type GetKMSKeyRingResultOutput ¶
type GetKMSKeyRingResultOutput struct{ *pulumi.OutputState }
A collection of values returned by getKMSKeyRing.
func GetKMSKeyRingOutput ¶
func GetKMSKeyRingOutput(ctx *pulumi.Context, args GetKMSKeyRingOutputArgs, opts ...pulumi.InvokeOption) GetKMSKeyRingResultOutput
func (GetKMSKeyRingResultOutput) ElementType ¶
func (GetKMSKeyRingResultOutput) ElementType() reflect.Type
func (GetKMSKeyRingResultOutput) Id ¶
func (o GetKMSKeyRingResultOutput) Id() pulumi.StringOutput
The provider-assigned unique ID for this managed resource.
func (GetKMSKeyRingResultOutput) Location ¶
func (o GetKMSKeyRingResultOutput) Location() pulumi.StringOutput
func (GetKMSKeyRingResultOutput) Name ¶
func (o GetKMSKeyRingResultOutput) Name() pulumi.StringOutput
func (GetKMSKeyRingResultOutput) Project ¶
func (o GetKMSKeyRingResultOutput) Project() pulumi.StringPtrOutput
func (GetKMSKeyRingResultOutput) ToGetKMSKeyRingResultOutput ¶
func (o GetKMSKeyRingResultOutput) ToGetKMSKeyRingResultOutput() GetKMSKeyRingResultOutput
func (GetKMSKeyRingResultOutput) ToGetKMSKeyRingResultOutputWithContext ¶
func (o GetKMSKeyRingResultOutput) ToGetKMSKeyRingResultOutputWithContext(ctx context.Context) GetKMSKeyRingResultOutput
type GetKMSSecretArgs ¶
type GetKMSSecretArgs struct { // The [additional authenticated data](https://cloud.google.com/kms/docs/additional-authenticated-data) used for integrity checks during encryption and decryption. AdditionalAuthenticatedData *string `pulumi:"additionalAuthenticatedData"` // The ciphertext to be decrypted, encoded in base64 Ciphertext string `pulumi:"ciphertext"` // The id of the CryptoKey that will be used to // decrypt the provided ciphertext. This is represented by the format // `{projectId}/{location}/{keyRingName}/{cryptoKeyName}`. CryptoKey string `pulumi:"cryptoKey"` }
A collection of arguments for invoking getKMSSecret.
type GetKMSSecretAsymmetricArgs ¶
type GetKMSSecretAsymmetricArgs struct { // The ciphertext to be decrypted, encoded in base64 Ciphertext string `pulumi:"ciphertext"` // The crc32 checksum of the `ciphertext` in hexadecimal notation. If not specified, it will be computed. Crc32 *string `pulumi:"crc32"` // The id of the CryptoKey version that will be used to // decrypt the provided ciphertext. This is represented by the format // `projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}/cryptoKeyVersions/{version}`. CryptoKeyVersion string `pulumi:"cryptoKeyVersion"` }
A collection of arguments for invoking getKMSSecretAsymmetric.
type GetKMSSecretAsymmetricOutputArgs ¶
type GetKMSSecretAsymmetricOutputArgs struct { // The ciphertext to be decrypted, encoded in base64 Ciphertext pulumi.StringInput `pulumi:"ciphertext"` // The crc32 checksum of the `ciphertext` in hexadecimal notation. If not specified, it will be computed. Crc32 pulumi.StringPtrInput `pulumi:"crc32"` // The id of the CryptoKey version that will be used to // decrypt the provided ciphertext. This is represented by the format // `projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}/cryptoKeyVersions/{version}`. CryptoKeyVersion pulumi.StringInput `pulumi:"cryptoKeyVersion"` }
A collection of arguments for invoking getKMSSecretAsymmetric.
func (GetKMSSecretAsymmetricOutputArgs) ElementType ¶
func (GetKMSSecretAsymmetricOutputArgs) ElementType() reflect.Type
type GetKMSSecretAsymmetricResult ¶
type GetKMSSecretAsymmetricResult struct { Ciphertext string `pulumi:"ciphertext"` // Contains the crc32 checksum of the provided ciphertext. Crc32 *string `pulumi:"crc32"` CryptoKeyVersion string `pulumi:"cryptoKeyVersion"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` // Contains the result of decrypting the provided ciphertext. Plaintext string `pulumi:"plaintext"` }
A collection of values returned by getKMSSecretAsymmetric.
func GetKMSSecretAsymmetric ¶
func GetKMSSecretAsymmetric(ctx *pulumi.Context, args *GetKMSSecretAsymmetricArgs, opts ...pulumi.InvokeOption) (*GetKMSSecretAsymmetricResult, error)
## get the public key to encrypt the secret with
$ gcloud kms keys versions get-public-key 1\ --project my-project\ --location us-central1\ --keyring my-key-ring\ --key my-crypto-key\ --output-file public-key.pem
## encrypt secret with the public key
$ echo -n my-secret-password |\ openssl pkeyutl -in -\ -encrypt\ -pubin\ -inkey public-key.pem\ -pkeyopt rsa_padding_mode:oaep\ -pkeyopt rsa_oaep_md:sha256\ -pkeyopt rsa_mgf1_md:sha256 >\ my-secret-password.enc
## base64 encode the ciphertext
$ openssl base64 -in my-secret-password.enc M7nUoba9EGVTu2LjNjBKGdGVBYjyS/i/AY+4yQMQF0Qf/RfUfX31Jw6+VO9OuThq ylu/7ihX9XD4bM7yYdXnMv9p1OHQUlorSBSbb/J6n1W9UJhcp6um8Tw8/Isx4f75 4PskYS6f8Y2ItliGt1/A9iR5BTgGtJBwOxMlgoX2Ggq+Nh4E5SbdoaE5o6CO1nBx eIPsPEebQ6qC4JehQM3IGuV/lrm58+hZhaXAqNzX1cEYyAt5GYqJIVCiI585SUYs wRToGyTgaN+zthF0HP9IWlR4Am4LmJ/1OcePTnYw11CkU8wNRbDzVAzogwNH+rXr LTmf7hxVjBm6bBSVSNFcBKAXFlllubSfIeZ5hgzGqn54OmSf6odO12L5JxllddHc yAd54vWKs2kJtnsKV2V4ZdkI0w6y1TeI67baFZDNGo6qsCpFMPnvv7d46Pg2VOp1 J6Ivner0NnNHE4MzNmpZRk8WXMwqq4P/gTiT7F/aCX6oFCUQ4AWPQhJYh2dkcOmL IP+47Veb10aFn61F1CJwpmOOiGNXKdDT1vK8CMnnwhm825K0q/q9Zqpzc1+1ae1z mSqol1zCoa88CuSN6nTLQlVnN/dzfrGbc0boJPaM0iGhHtSzHk4SWg84LhiJB1q9 A9XFJmOVdkvRY9nnz/iVLAdd0Q3vFtLqCdUYsNN2yh4=
type GetKMSSecretAsymmetricResultOutput ¶
type GetKMSSecretAsymmetricResultOutput struct{ *pulumi.OutputState }
A collection of values returned by getKMSSecretAsymmetric.
func GetKMSSecretAsymmetricOutput ¶
func GetKMSSecretAsymmetricOutput(ctx *pulumi.Context, args GetKMSSecretAsymmetricOutputArgs, opts ...pulumi.InvokeOption) GetKMSSecretAsymmetricResultOutput
func (GetKMSSecretAsymmetricResultOutput) Ciphertext ¶
func (o GetKMSSecretAsymmetricResultOutput) Ciphertext() pulumi.StringOutput
func (GetKMSSecretAsymmetricResultOutput) Crc32 ¶
func (o GetKMSSecretAsymmetricResultOutput) Crc32() pulumi.StringPtrOutput
Contains the crc32 checksum of the provided ciphertext.
func (GetKMSSecretAsymmetricResultOutput) CryptoKeyVersion ¶
func (o GetKMSSecretAsymmetricResultOutput) CryptoKeyVersion() pulumi.StringOutput
func (GetKMSSecretAsymmetricResultOutput) ElementType ¶
func (GetKMSSecretAsymmetricResultOutput) ElementType() reflect.Type
func (GetKMSSecretAsymmetricResultOutput) Id ¶
func (o GetKMSSecretAsymmetricResultOutput) Id() pulumi.StringOutput
The provider-assigned unique ID for this managed resource.
func (GetKMSSecretAsymmetricResultOutput) Plaintext ¶
func (o GetKMSSecretAsymmetricResultOutput) Plaintext() pulumi.StringOutput
Contains the result of decrypting the provided ciphertext.
func (GetKMSSecretAsymmetricResultOutput) ToGetKMSSecretAsymmetricResultOutput ¶
func (o GetKMSSecretAsymmetricResultOutput) ToGetKMSSecretAsymmetricResultOutput() GetKMSSecretAsymmetricResultOutput
func (GetKMSSecretAsymmetricResultOutput) ToGetKMSSecretAsymmetricResultOutputWithContext ¶
func (o GetKMSSecretAsymmetricResultOutput) ToGetKMSSecretAsymmetricResultOutputWithContext(ctx context.Context) GetKMSSecretAsymmetricResultOutput
type GetKMSSecretCiphertextArgs ¶
type GetKMSSecretCiphertextArgs struct { // The id of the CryptoKey that will be used to // encrypt the provided plaintext. This is represented by the format // `{projectId}/{location}/{keyRingName}/{cryptoKeyName}`. CryptoKey string `pulumi:"cryptoKey"` // The plaintext to be encrypted Plaintext string `pulumi:"plaintext"` }
A collection of arguments for invoking getKMSSecretCiphertext.
type GetKMSSecretCiphertextOutputArgs ¶
type GetKMSSecretCiphertextOutputArgs struct { // The id of the CryptoKey that will be used to // encrypt the provided plaintext. This is represented by the format // `{projectId}/{location}/{keyRingName}/{cryptoKeyName}`. CryptoKey pulumi.StringInput `pulumi:"cryptoKey"` // The plaintext to be encrypted Plaintext pulumi.StringInput `pulumi:"plaintext"` }
A collection of arguments for invoking getKMSSecretCiphertext.
func (GetKMSSecretCiphertextOutputArgs) ElementType ¶
func (GetKMSSecretCiphertextOutputArgs) ElementType() reflect.Type
type GetKMSSecretCiphertextResult ¶
type GetKMSSecretCiphertextResult struct { // Contains the result of encrypting the provided plaintext, encoded in base64. Ciphertext string `pulumi:"ciphertext"` CryptoKey string `pulumi:"cryptoKey"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` Plaintext string `pulumi:"plaintext"` }
A collection of values returned by getKMSSecretCiphertext.
func GetKMSSecretCiphertext ¶
func GetKMSSecretCiphertext(ctx *pulumi.Context, args *GetKMSSecretCiphertextArgs, opts ...pulumi.InvokeOption) (*GetKMSSecretCiphertextResult, error)
!> **Warning:** This data source is deprecated. Use the `kms.SecretCiphertext` **resource** instead.
This data source allows you to encrypt data with Google Cloud KMS and use the ciphertext within your resource definitions.
For more information see [the official documentation](https://cloud.google.com/kms/docs/encrypt-decrypt).
> **NOTE:** Using this data source will allow you to conceal secret data within your resource definitions, but it does not take care of protecting that data in the logging output, plan output, or state output. Please take care to secure your secret data outside of resource definitions.
type GetKMSSecretCiphertextResultOutput ¶
type GetKMSSecretCiphertextResultOutput struct{ *pulumi.OutputState }
A collection of values returned by getKMSSecretCiphertext.
func GetKMSSecretCiphertextOutput ¶
func GetKMSSecretCiphertextOutput(ctx *pulumi.Context, args GetKMSSecretCiphertextOutputArgs, opts ...pulumi.InvokeOption) GetKMSSecretCiphertextResultOutput
func (GetKMSSecretCiphertextResultOutput) Ciphertext ¶
func (o GetKMSSecretCiphertextResultOutput) Ciphertext() pulumi.StringOutput
Contains the result of encrypting the provided plaintext, encoded in base64.
func (GetKMSSecretCiphertextResultOutput) CryptoKey ¶
func (o GetKMSSecretCiphertextResultOutput) CryptoKey() pulumi.StringOutput
func (GetKMSSecretCiphertextResultOutput) ElementType ¶
func (GetKMSSecretCiphertextResultOutput) ElementType() reflect.Type
func (GetKMSSecretCiphertextResultOutput) Id ¶
func (o GetKMSSecretCiphertextResultOutput) Id() pulumi.StringOutput
The provider-assigned unique ID for this managed resource.
func (GetKMSSecretCiphertextResultOutput) Plaintext ¶
func (o GetKMSSecretCiphertextResultOutput) Plaintext() pulumi.StringOutput
func (GetKMSSecretCiphertextResultOutput) ToGetKMSSecretCiphertextResultOutput ¶
func (o GetKMSSecretCiphertextResultOutput) ToGetKMSSecretCiphertextResultOutput() GetKMSSecretCiphertextResultOutput
func (GetKMSSecretCiphertextResultOutput) ToGetKMSSecretCiphertextResultOutputWithContext ¶
func (o GetKMSSecretCiphertextResultOutput) ToGetKMSSecretCiphertextResultOutputWithContext(ctx context.Context) GetKMSSecretCiphertextResultOutput
type GetKMSSecretOutputArgs ¶
type GetKMSSecretOutputArgs struct { // The [additional authenticated data](https://cloud.google.com/kms/docs/additional-authenticated-data) used for integrity checks during encryption and decryption. AdditionalAuthenticatedData pulumi.StringPtrInput `pulumi:"additionalAuthenticatedData"` // The ciphertext to be decrypted, encoded in base64 Ciphertext pulumi.StringInput `pulumi:"ciphertext"` // The id of the CryptoKey that will be used to // decrypt the provided ciphertext. This is represented by the format // `{projectId}/{location}/{keyRingName}/{cryptoKeyName}`. CryptoKey pulumi.StringInput `pulumi:"cryptoKey"` }
A collection of arguments for invoking getKMSSecret.
func (GetKMSSecretOutputArgs) ElementType ¶
func (GetKMSSecretOutputArgs) ElementType() reflect.Type
type GetKMSSecretResult ¶
type GetKMSSecretResult struct { AdditionalAuthenticatedData *string `pulumi:"additionalAuthenticatedData"` Ciphertext string `pulumi:"ciphertext"` CryptoKey string `pulumi:"cryptoKey"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` // Contains the result of decrypting the provided ciphertext. Plaintext string `pulumi:"plaintext"` }
A collection of values returned by getKMSSecret.
func GetKMSSecret ¶
func GetKMSSecret(ctx *pulumi.Context, args *GetKMSSecretArgs, opts ...pulumi.InvokeOption) (*GetKMSSecretResult, error)
This data source allows you to use data encrypted with Google Cloud KMS within your resource definitions.
For more information see [the official documentation](https://cloud.google.com/kms/docs/encrypt-decrypt).
> **NOTE:** Using this data provider will allow you to conceal secret data within your resource definitions, but it does not take care of protecting that data in the logging output, plan output, or state output. Please take care to secure your secret data outside of resource definitions.
type GetKMSSecretResultOutput ¶
type GetKMSSecretResultOutput struct{ *pulumi.OutputState }
A collection of values returned by getKMSSecret.
func GetKMSSecretOutput ¶
func GetKMSSecretOutput(ctx *pulumi.Context, args GetKMSSecretOutputArgs, opts ...pulumi.InvokeOption) GetKMSSecretResultOutput
func (GetKMSSecretResultOutput) AdditionalAuthenticatedData ¶
func (o GetKMSSecretResultOutput) AdditionalAuthenticatedData() pulumi.StringPtrOutput
func (GetKMSSecretResultOutput) Ciphertext ¶
func (o GetKMSSecretResultOutput) Ciphertext() pulumi.StringOutput
func (GetKMSSecretResultOutput) CryptoKey ¶
func (o GetKMSSecretResultOutput) CryptoKey() pulumi.StringOutput
func (GetKMSSecretResultOutput) ElementType ¶
func (GetKMSSecretResultOutput) ElementType() reflect.Type
func (GetKMSSecretResultOutput) Id ¶
func (o GetKMSSecretResultOutput) Id() pulumi.StringOutput
The provider-assigned unique ID for this managed resource.
func (GetKMSSecretResultOutput) Plaintext ¶
func (o GetKMSSecretResultOutput) Plaintext() pulumi.StringOutput
Contains the result of decrypting the provided ciphertext.
func (GetKMSSecretResultOutput) ToGetKMSSecretResultOutput ¶
func (o GetKMSSecretResultOutput) ToGetKMSSecretResultOutput() GetKMSSecretResultOutput
func (GetKMSSecretResultOutput) ToGetKMSSecretResultOutputWithContext ¶
func (o GetKMSSecretResultOutput) ToGetKMSSecretResultOutputWithContext(ctx context.Context) GetKMSSecretResultOutput
type KeyRing ¶
type KeyRing struct { pulumi.CustomResourceState // The location for the KeyRing. // A full list of valid locations can be found by running `gcloud kms locations list`. Location pulumi.StringOutput `pulumi:"location"` // The resource name for the KeyRing. Name pulumi.StringOutput `pulumi:"name"` // The ID of the project in which the resource belongs. // If it is not provided, the provider project is used. Project pulumi.StringOutput `pulumi:"project"` }
A `KeyRing` is a toplevel logical grouping of `CryptoKeys`.
> **Note:** KeyRings cannot be deleted from Google Cloud Platform. Destroying a provider-managed KeyRing will remove it from state but *will not delete the resource from the project.*
To get more information about KeyRing, see:
* [API documentation](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings) * How-to Guides
- [Creating a key ring](https://cloud.google.com/kms/docs/creating-keys#create_a_key_ring)
## Example Usage ### Kms Key Ring Basic
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := kms.NewKeyRing(ctx, "example-keyring", &kms.KeyRingArgs{ Location: pulumi.String("global"), }) if err != nil { return err } return nil }) }
```
## Import
KeyRing can be imported using any of these accepted formats ¶
```sh
$ pulumi import gcp:kms/keyRing:KeyRing default projects/{{project}}/locations/{{location}}/keyRings/{{name}}
```
```sh
$ pulumi import gcp:kms/keyRing:KeyRing default {{project}}/{{location}}/{{name}}
```
```sh
$ pulumi import gcp:kms/keyRing:KeyRing default {{location}}/{{name}}
```
func GetKeyRing ¶
func GetKeyRing(ctx *pulumi.Context, name string, id pulumi.IDInput, state *KeyRingState, opts ...pulumi.ResourceOption) (*KeyRing, error)
GetKeyRing gets an existing KeyRing resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewKeyRing ¶
func NewKeyRing(ctx *pulumi.Context, name string, args *KeyRingArgs, opts ...pulumi.ResourceOption) (*KeyRing, error)
NewKeyRing registers a new resource with the given unique name, arguments, and options.
func (*KeyRing) ElementType ¶
func (*KeyRing) ToKeyRingOutput ¶
func (i *KeyRing) ToKeyRingOutput() KeyRingOutput
func (*KeyRing) ToKeyRingOutputWithContext ¶
func (i *KeyRing) ToKeyRingOutputWithContext(ctx context.Context) KeyRingOutput
type KeyRingArgs ¶
type KeyRingArgs struct { // The location for the KeyRing. // A full list of valid locations can be found by running `gcloud kms locations list`. Location pulumi.StringInput // The resource name for the KeyRing. Name pulumi.StringPtrInput // The ID of the project in which the resource belongs. // If it is not provided, the provider project is used. Project pulumi.StringPtrInput }
The set of arguments for constructing a KeyRing resource.
func (KeyRingArgs) ElementType ¶
func (KeyRingArgs) ElementType() reflect.Type
type KeyRingArray ¶
type KeyRingArray []KeyRingInput
func (KeyRingArray) ElementType ¶
func (KeyRingArray) ElementType() reflect.Type
func (KeyRingArray) ToKeyRingArrayOutput ¶
func (i KeyRingArray) ToKeyRingArrayOutput() KeyRingArrayOutput
func (KeyRingArray) ToKeyRingArrayOutputWithContext ¶
func (i KeyRingArray) ToKeyRingArrayOutputWithContext(ctx context.Context) KeyRingArrayOutput
type KeyRingArrayInput ¶
type KeyRingArrayInput interface { pulumi.Input ToKeyRingArrayOutput() KeyRingArrayOutput ToKeyRingArrayOutputWithContext(context.Context) KeyRingArrayOutput }
KeyRingArrayInput is an input type that accepts KeyRingArray and KeyRingArrayOutput values. You can construct a concrete instance of `KeyRingArrayInput` via:
KeyRingArray{ KeyRingArgs{...} }
type KeyRingArrayOutput ¶
type KeyRingArrayOutput struct{ *pulumi.OutputState }
func (KeyRingArrayOutput) ElementType ¶
func (KeyRingArrayOutput) ElementType() reflect.Type
func (KeyRingArrayOutput) Index ¶
func (o KeyRingArrayOutput) Index(i pulumi.IntInput) KeyRingOutput
func (KeyRingArrayOutput) ToKeyRingArrayOutput ¶
func (o KeyRingArrayOutput) ToKeyRingArrayOutput() KeyRingArrayOutput
func (KeyRingArrayOutput) ToKeyRingArrayOutputWithContext ¶
func (o KeyRingArrayOutput) ToKeyRingArrayOutputWithContext(ctx context.Context) KeyRingArrayOutput
type KeyRingIAMBinding ¶
type KeyRingIAMBinding struct { pulumi.CustomResourceState // ) An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding. // Structure is documented below. Condition KeyRingIAMBindingConditionPtrOutput `pulumi:"condition"` // (Computed) The etag of the key ring's IAM policy. Etag pulumi.StringOutput `pulumi:"etag"` // The key ring ID, in the form // `{project_id}/{location_name}/{key_ring_name}` or // `{location_name}/{key_ring_name}`. In the second form, the provider's // project setting will be used as a fallback. KeyRingId pulumi.StringOutput `pulumi:"keyRingId"` Members pulumi.StringArrayOutput `pulumi:"members"` // The role that should be applied. Only one // `kms.KeyRingIAMBinding` can be used per role. Note that custom roles must be of the format // `[projects|organizations]/{parent-name}/roles/{role-name}`. Role pulumi.StringOutput `pulumi:"role"` }
Three different resources help you manage your IAM policy for KMS key ring. Each of these resources serves a different use case:
* `kms.KeyRingIAMPolicy`: Authoritative. Sets the IAM policy for the key ring and replaces any existing policy already attached. * `kms.KeyRingIAMBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the key ring are preserved. * `kms.KeyRingIAMMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the key ring are preserved.
> **Note:** `kms.KeyRingIAMPolicy` **cannot** be used in conjunction with `kms.KeyRingIAMBinding` and `kms.KeyRingIAMMember` or they will fight over what your policy should be.
> **Note:** `kms.KeyRingIAMBinding` resources **can be** used in conjunction with `kms.KeyRingIAMMember` resources **only if** they do not grant privilege to the same role.
## google\_kms\_key\_ring\_iam\_policy
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { keyring, err := kms.NewKeyRing(ctx, "keyring", &kms.KeyRingArgs{ Location: pulumi.String("global"), }) if err != nil { return err } admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{ Bindings: []organizations.GetIAMPolicyBinding{ organizations.GetIAMPolicyBinding{ Role: "roles/editor", Members: []string{ "user:jane@example.com", }, }, }, }, nil) if err != nil { return err } _, err = kms.NewKeyRingIAMPolicy(ctx, "keyRing", &kms.KeyRingIAMPolicyArgs{ KeyRingId: keyring.ID(), PolicyData: pulumi.String(admin.PolicyData), }) if err != nil { return err } return nil }) }
```
With IAM Conditions:
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { keyring, err := kms.NewKeyRing(ctx, "keyring", &kms.KeyRingArgs{ Location: pulumi.String("global"), }) if err != nil { return err } admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{ Bindings: []organizations.GetIAMPolicyBinding{ organizations.GetIAMPolicyBinding{ Role: "roles/editor", Members: []string{ "user:jane@example.com", }, Condition: organizations.GetIAMPolicyBindingCondition{ Title: "expires_after_2019_12_31", Description: pulumi.StringRef("Expiring at midnight of 2019-12-31"), Expression: "request.time < timestamp(\"2020-01-01T00:00:00Z\")", }, }, }, }, nil) if err != nil { return err } _, err = kms.NewKeyRingIAMPolicy(ctx, "keyRing", &kms.KeyRingIAMPolicyArgs{ KeyRingId: keyring.ID(), PolicyData: pulumi.String(admin.PolicyData), }) if err != nil { return err } return nil }) }
```
## google\_kms\_key\_ring\_iam\_binding
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := kms.NewKeyRingIAMBinding(ctx, "keyRing", &kms.KeyRingIAMBindingArgs{ KeyRingId: pulumi.String("your-key-ring-id"), Members: pulumi.StringArray{ pulumi.String("user:jane@example.com"), }, Role: pulumi.String("roles/editor"), }) if err != nil { return err } return nil }) }
```
With IAM Conditions:
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := kms.NewKeyRingIAMBinding(ctx, "keyRing", &kms.KeyRingIAMBindingArgs{ Condition: &kms.KeyRingIAMBindingConditionArgs{ Description: pulumi.String("Expiring at midnight of 2019-12-31"), Expression: pulumi.String("request.time < timestamp(\"2020-01-01T00:00:00Z\")"), Title: pulumi.String("expires_after_2019_12_31"), }, KeyRingId: pulumi.String("your-key-ring-id"), Members: pulumi.StringArray{ pulumi.String("user:jane@example.com"), }, Role: pulumi.String("roles/editor"), }) if err != nil { return err } return nil }) }
```
## google\_kms\_key\_ring\_iam\_member
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := kms.NewKeyRingIAMMember(ctx, "keyRing", &kms.KeyRingIAMMemberArgs{ KeyRingId: pulumi.String("your-key-ring-id"), Member: pulumi.String("user:jane@example.com"), Role: pulumi.String("roles/editor"), }) if err != nil { return err } return nil }) }
```
With IAM Conditions:
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := kms.NewKeyRingIAMMember(ctx, "keyRing", &kms.KeyRingIAMMemberArgs{ Condition: &kms.KeyRingIAMMemberConditionArgs{ Description: pulumi.String("Expiring at midnight of 2019-12-31"), Expression: pulumi.String("request.time < timestamp(\"2020-01-01T00:00:00Z\")"), Title: pulumi.String("expires_after_2019_12_31"), }, KeyRingId: pulumi.String("your-key-ring-id"), Member: pulumi.String("user:jane@example.com"), Role: pulumi.String("roles/editor"), }) if err != nil { return err } return nil }) }
```
## Import
IAM member imports use space-delimited identifiers; the resource in question, the role, and the account.
This member resource can be imported using the `key_ring_id`, role, and account e.g.
```sh
$ pulumi import gcp:kms/keyRingIAMBinding:KeyRingIAMBinding key_ring_iam "your-project-id/location-name/key-ring-name roles/viewer user:foo@example.com"
```
IAM binding imports use space-delimited identifiers; the resource in question and the role.
This binding resource can be imported using the `key_ring_id` and role, e.g.
```sh
$ pulumi import gcp:kms/keyRingIAMBinding:KeyRingIAMBinding key_ring_iam "your-project-id/location-name/key-ring-name roles/viewer"
```
IAM policy imports use the identifier of the resource in question.
This policy resource can be imported using the `key_ring_id`, e.g.
```sh
$ pulumi import gcp:kms/keyRingIAMBinding:KeyRingIAMBinding key_ring_iam your-project-id/location-name/key-ring-name
```
func GetKeyRingIAMBinding ¶
func GetKeyRingIAMBinding(ctx *pulumi.Context, name string, id pulumi.IDInput, state *KeyRingIAMBindingState, opts ...pulumi.ResourceOption) (*KeyRingIAMBinding, error)
GetKeyRingIAMBinding gets an existing KeyRingIAMBinding resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewKeyRingIAMBinding ¶
func NewKeyRingIAMBinding(ctx *pulumi.Context, name string, args *KeyRingIAMBindingArgs, opts ...pulumi.ResourceOption) (*KeyRingIAMBinding, error)
NewKeyRingIAMBinding registers a new resource with the given unique name, arguments, and options.
func (*KeyRingIAMBinding) ElementType ¶
func (*KeyRingIAMBinding) ElementType() reflect.Type
func (*KeyRingIAMBinding) ToKeyRingIAMBindingOutput ¶
func (i *KeyRingIAMBinding) ToKeyRingIAMBindingOutput() KeyRingIAMBindingOutput
func (*KeyRingIAMBinding) ToKeyRingIAMBindingOutputWithContext ¶
func (i *KeyRingIAMBinding) ToKeyRingIAMBindingOutputWithContext(ctx context.Context) KeyRingIAMBindingOutput
type KeyRingIAMBindingArgs ¶
type KeyRingIAMBindingArgs struct { // ) An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding. // Structure is documented below. Condition KeyRingIAMBindingConditionPtrInput // The key ring ID, in the form // `{project_id}/{location_name}/{key_ring_name}` or // `{location_name}/{key_ring_name}`. In the second form, the provider's // project setting will be used as a fallback. KeyRingId pulumi.StringInput Members pulumi.StringArrayInput // The role that should be applied. Only one // `kms.KeyRingIAMBinding` can be used per role. Note that custom roles must be of the format // `[projects|organizations]/{parent-name}/roles/{role-name}`. Role pulumi.StringInput }
The set of arguments for constructing a KeyRingIAMBinding resource.
func (KeyRingIAMBindingArgs) ElementType ¶
func (KeyRingIAMBindingArgs) ElementType() reflect.Type
type KeyRingIAMBindingArray ¶
type KeyRingIAMBindingArray []KeyRingIAMBindingInput
func (KeyRingIAMBindingArray) ElementType ¶
func (KeyRingIAMBindingArray) ElementType() reflect.Type
func (KeyRingIAMBindingArray) ToKeyRingIAMBindingArrayOutput ¶
func (i KeyRingIAMBindingArray) ToKeyRingIAMBindingArrayOutput() KeyRingIAMBindingArrayOutput
func (KeyRingIAMBindingArray) ToKeyRingIAMBindingArrayOutputWithContext ¶
func (i KeyRingIAMBindingArray) ToKeyRingIAMBindingArrayOutputWithContext(ctx context.Context) KeyRingIAMBindingArrayOutput
type KeyRingIAMBindingArrayInput ¶
type KeyRingIAMBindingArrayInput interface { pulumi.Input ToKeyRingIAMBindingArrayOutput() KeyRingIAMBindingArrayOutput ToKeyRingIAMBindingArrayOutputWithContext(context.Context) KeyRingIAMBindingArrayOutput }
KeyRingIAMBindingArrayInput is an input type that accepts KeyRingIAMBindingArray and KeyRingIAMBindingArrayOutput values. You can construct a concrete instance of `KeyRingIAMBindingArrayInput` via:
KeyRingIAMBindingArray{ KeyRingIAMBindingArgs{...} }
type KeyRingIAMBindingArrayOutput ¶
type KeyRingIAMBindingArrayOutput struct{ *pulumi.OutputState }
func (KeyRingIAMBindingArrayOutput) ElementType ¶
func (KeyRingIAMBindingArrayOutput) ElementType() reflect.Type
func (KeyRingIAMBindingArrayOutput) Index ¶
func (o KeyRingIAMBindingArrayOutput) Index(i pulumi.IntInput) KeyRingIAMBindingOutput
func (KeyRingIAMBindingArrayOutput) ToKeyRingIAMBindingArrayOutput ¶
func (o KeyRingIAMBindingArrayOutput) ToKeyRingIAMBindingArrayOutput() KeyRingIAMBindingArrayOutput
func (KeyRingIAMBindingArrayOutput) ToKeyRingIAMBindingArrayOutputWithContext ¶
func (o KeyRingIAMBindingArrayOutput) ToKeyRingIAMBindingArrayOutputWithContext(ctx context.Context) KeyRingIAMBindingArrayOutput
type KeyRingIAMBindingCondition ¶
type KeyRingIAMBindingCondition struct { // An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. Description *string `pulumi:"description"` // Textual representation of an expression in Common Expression Language syntax. Expression string `pulumi:"expression"` // A title for the expression, i.e. a short string describing its purpose. Title string `pulumi:"title"` }
type KeyRingIAMBindingConditionArgs ¶
type KeyRingIAMBindingConditionArgs struct { // An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. Description pulumi.StringPtrInput `pulumi:"description"` // Textual representation of an expression in Common Expression Language syntax. Expression pulumi.StringInput `pulumi:"expression"` // A title for the expression, i.e. a short string describing its purpose. Title pulumi.StringInput `pulumi:"title"` }
func (KeyRingIAMBindingConditionArgs) ElementType ¶
func (KeyRingIAMBindingConditionArgs) ElementType() reflect.Type
func (KeyRingIAMBindingConditionArgs) ToKeyRingIAMBindingConditionOutput ¶
func (i KeyRingIAMBindingConditionArgs) ToKeyRingIAMBindingConditionOutput() KeyRingIAMBindingConditionOutput
func (KeyRingIAMBindingConditionArgs) ToKeyRingIAMBindingConditionOutputWithContext ¶
func (i KeyRingIAMBindingConditionArgs) ToKeyRingIAMBindingConditionOutputWithContext(ctx context.Context) KeyRingIAMBindingConditionOutput
func (KeyRingIAMBindingConditionArgs) ToKeyRingIAMBindingConditionPtrOutput ¶
func (i KeyRingIAMBindingConditionArgs) ToKeyRingIAMBindingConditionPtrOutput() KeyRingIAMBindingConditionPtrOutput
func (KeyRingIAMBindingConditionArgs) ToKeyRingIAMBindingConditionPtrOutputWithContext ¶
func (i KeyRingIAMBindingConditionArgs) ToKeyRingIAMBindingConditionPtrOutputWithContext(ctx context.Context) KeyRingIAMBindingConditionPtrOutput
type KeyRingIAMBindingConditionInput ¶
type KeyRingIAMBindingConditionInput interface { pulumi.Input ToKeyRingIAMBindingConditionOutput() KeyRingIAMBindingConditionOutput ToKeyRingIAMBindingConditionOutputWithContext(context.Context) KeyRingIAMBindingConditionOutput }
KeyRingIAMBindingConditionInput is an input type that accepts KeyRingIAMBindingConditionArgs and KeyRingIAMBindingConditionOutput values. You can construct a concrete instance of `KeyRingIAMBindingConditionInput` via:
KeyRingIAMBindingConditionArgs{...}
type KeyRingIAMBindingConditionOutput ¶
type KeyRingIAMBindingConditionOutput struct{ *pulumi.OutputState }
func (KeyRingIAMBindingConditionOutput) Description ¶
func (o KeyRingIAMBindingConditionOutput) Description() pulumi.StringPtrOutput
An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
func (KeyRingIAMBindingConditionOutput) ElementType ¶
func (KeyRingIAMBindingConditionOutput) ElementType() reflect.Type
func (KeyRingIAMBindingConditionOutput) Expression ¶
func (o KeyRingIAMBindingConditionOutput) Expression() pulumi.StringOutput
Textual representation of an expression in Common Expression Language syntax.
func (KeyRingIAMBindingConditionOutput) Title ¶
func (o KeyRingIAMBindingConditionOutput) Title() pulumi.StringOutput
A title for the expression, i.e. a short string describing its purpose.
func (KeyRingIAMBindingConditionOutput) ToKeyRingIAMBindingConditionOutput ¶
func (o KeyRingIAMBindingConditionOutput) ToKeyRingIAMBindingConditionOutput() KeyRingIAMBindingConditionOutput
func (KeyRingIAMBindingConditionOutput) ToKeyRingIAMBindingConditionOutputWithContext ¶
func (o KeyRingIAMBindingConditionOutput) ToKeyRingIAMBindingConditionOutputWithContext(ctx context.Context) KeyRingIAMBindingConditionOutput
func (KeyRingIAMBindingConditionOutput) ToKeyRingIAMBindingConditionPtrOutput ¶
func (o KeyRingIAMBindingConditionOutput) ToKeyRingIAMBindingConditionPtrOutput() KeyRingIAMBindingConditionPtrOutput
func (KeyRingIAMBindingConditionOutput) ToKeyRingIAMBindingConditionPtrOutputWithContext ¶
func (o KeyRingIAMBindingConditionOutput) ToKeyRingIAMBindingConditionPtrOutputWithContext(ctx context.Context) KeyRingIAMBindingConditionPtrOutput
type KeyRingIAMBindingConditionPtrInput ¶
type KeyRingIAMBindingConditionPtrInput interface { pulumi.Input ToKeyRingIAMBindingConditionPtrOutput() KeyRingIAMBindingConditionPtrOutput ToKeyRingIAMBindingConditionPtrOutputWithContext(context.Context) KeyRingIAMBindingConditionPtrOutput }
KeyRingIAMBindingConditionPtrInput is an input type that accepts KeyRingIAMBindingConditionArgs, KeyRingIAMBindingConditionPtr and KeyRingIAMBindingConditionPtrOutput values. You can construct a concrete instance of `KeyRingIAMBindingConditionPtrInput` via:
KeyRingIAMBindingConditionArgs{...} or: nil
func KeyRingIAMBindingConditionPtr ¶
func KeyRingIAMBindingConditionPtr(v *KeyRingIAMBindingConditionArgs) KeyRingIAMBindingConditionPtrInput
type KeyRingIAMBindingConditionPtrOutput ¶
type KeyRingIAMBindingConditionPtrOutput struct{ *pulumi.OutputState }
func (KeyRingIAMBindingConditionPtrOutput) Description ¶
func (o KeyRingIAMBindingConditionPtrOutput) Description() pulumi.StringPtrOutput
An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
func (KeyRingIAMBindingConditionPtrOutput) Elem ¶
func (o KeyRingIAMBindingConditionPtrOutput) Elem() KeyRingIAMBindingConditionOutput
func (KeyRingIAMBindingConditionPtrOutput) ElementType ¶
func (KeyRingIAMBindingConditionPtrOutput) ElementType() reflect.Type
func (KeyRingIAMBindingConditionPtrOutput) Expression ¶
func (o KeyRingIAMBindingConditionPtrOutput) Expression() pulumi.StringPtrOutput
Textual representation of an expression in Common Expression Language syntax.
func (KeyRingIAMBindingConditionPtrOutput) Title ¶
func (o KeyRingIAMBindingConditionPtrOutput) Title() pulumi.StringPtrOutput
A title for the expression, i.e. a short string describing its purpose.
func (KeyRingIAMBindingConditionPtrOutput) ToKeyRingIAMBindingConditionPtrOutput ¶
func (o KeyRingIAMBindingConditionPtrOutput) ToKeyRingIAMBindingConditionPtrOutput() KeyRingIAMBindingConditionPtrOutput
func (KeyRingIAMBindingConditionPtrOutput) ToKeyRingIAMBindingConditionPtrOutputWithContext ¶
func (o KeyRingIAMBindingConditionPtrOutput) ToKeyRingIAMBindingConditionPtrOutputWithContext(ctx context.Context) KeyRingIAMBindingConditionPtrOutput
type KeyRingIAMBindingInput ¶
type KeyRingIAMBindingInput interface { pulumi.Input ToKeyRingIAMBindingOutput() KeyRingIAMBindingOutput ToKeyRingIAMBindingOutputWithContext(ctx context.Context) KeyRingIAMBindingOutput }
type KeyRingIAMBindingMap ¶
type KeyRingIAMBindingMap map[string]KeyRingIAMBindingInput
func (KeyRingIAMBindingMap) ElementType ¶
func (KeyRingIAMBindingMap) ElementType() reflect.Type
func (KeyRingIAMBindingMap) ToKeyRingIAMBindingMapOutput ¶
func (i KeyRingIAMBindingMap) ToKeyRingIAMBindingMapOutput() KeyRingIAMBindingMapOutput
func (KeyRingIAMBindingMap) ToKeyRingIAMBindingMapOutputWithContext ¶
func (i KeyRingIAMBindingMap) ToKeyRingIAMBindingMapOutputWithContext(ctx context.Context) KeyRingIAMBindingMapOutput
type KeyRingIAMBindingMapInput ¶
type KeyRingIAMBindingMapInput interface { pulumi.Input ToKeyRingIAMBindingMapOutput() KeyRingIAMBindingMapOutput ToKeyRingIAMBindingMapOutputWithContext(context.Context) KeyRingIAMBindingMapOutput }
KeyRingIAMBindingMapInput is an input type that accepts KeyRingIAMBindingMap and KeyRingIAMBindingMapOutput values. You can construct a concrete instance of `KeyRingIAMBindingMapInput` via:
KeyRingIAMBindingMap{ "key": KeyRingIAMBindingArgs{...} }
type KeyRingIAMBindingMapOutput ¶
type KeyRingIAMBindingMapOutput struct{ *pulumi.OutputState }
func (KeyRingIAMBindingMapOutput) ElementType ¶
func (KeyRingIAMBindingMapOutput) ElementType() reflect.Type
func (KeyRingIAMBindingMapOutput) MapIndex ¶
func (o KeyRingIAMBindingMapOutput) MapIndex(k pulumi.StringInput) KeyRingIAMBindingOutput
func (KeyRingIAMBindingMapOutput) ToKeyRingIAMBindingMapOutput ¶
func (o KeyRingIAMBindingMapOutput) ToKeyRingIAMBindingMapOutput() KeyRingIAMBindingMapOutput
func (KeyRingIAMBindingMapOutput) ToKeyRingIAMBindingMapOutputWithContext ¶
func (o KeyRingIAMBindingMapOutput) ToKeyRingIAMBindingMapOutputWithContext(ctx context.Context) KeyRingIAMBindingMapOutput
type KeyRingIAMBindingOutput ¶
type KeyRingIAMBindingOutput struct{ *pulumi.OutputState }
func (KeyRingIAMBindingOutput) ElementType ¶
func (KeyRingIAMBindingOutput) ElementType() reflect.Type
func (KeyRingIAMBindingOutput) ToKeyRingIAMBindingOutput ¶
func (o KeyRingIAMBindingOutput) ToKeyRingIAMBindingOutput() KeyRingIAMBindingOutput
func (KeyRingIAMBindingOutput) ToKeyRingIAMBindingOutputWithContext ¶
func (o KeyRingIAMBindingOutput) ToKeyRingIAMBindingOutputWithContext(ctx context.Context) KeyRingIAMBindingOutput
type KeyRingIAMBindingState ¶
type KeyRingIAMBindingState struct { // ) An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding. // Structure is documented below. Condition KeyRingIAMBindingConditionPtrInput // (Computed) The etag of the key ring's IAM policy. Etag pulumi.StringPtrInput // The key ring ID, in the form // `{project_id}/{location_name}/{key_ring_name}` or // `{location_name}/{key_ring_name}`. In the second form, the provider's // project setting will be used as a fallback. KeyRingId pulumi.StringPtrInput Members pulumi.StringArrayInput // The role that should be applied. Only one // `kms.KeyRingIAMBinding` can be used per role. Note that custom roles must be of the format // `[projects|organizations]/{parent-name}/roles/{role-name}`. Role pulumi.StringPtrInput }
func (KeyRingIAMBindingState) ElementType ¶
func (KeyRingIAMBindingState) ElementType() reflect.Type
type KeyRingIAMMember ¶
type KeyRingIAMMember struct { pulumi.CustomResourceState // ) An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding. // Structure is documented below. Condition KeyRingIAMMemberConditionPtrOutput `pulumi:"condition"` // (Computed) The etag of the key ring's IAM policy. Etag pulumi.StringOutput `pulumi:"etag"` // The key ring ID, in the form // `{project_id}/{location_name}/{key_ring_name}` or // `{location_name}/{key_ring_name}`. In the second form, the provider's // project setting will be used as a fallback. KeyRingId pulumi.StringOutput `pulumi:"keyRingId"` Member pulumi.StringOutput `pulumi:"member"` // The role that should be applied. Only one // `kms.KeyRingIAMBinding` can be used per role. Note that custom roles must be of the format // `[projects|organizations]/{parent-name}/roles/{role-name}`. Role pulumi.StringOutput `pulumi:"role"` }
Three different resources help you manage your IAM policy for KMS key ring. Each of these resources serves a different use case:
* `kms.KeyRingIAMPolicy`: Authoritative. Sets the IAM policy for the key ring and replaces any existing policy already attached. * `kms.KeyRingIAMBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the key ring are preserved. * `kms.KeyRingIAMMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the key ring are preserved.
> **Note:** `kms.KeyRingIAMPolicy` **cannot** be used in conjunction with `kms.KeyRingIAMBinding` and `kms.KeyRingIAMMember` or they will fight over what your policy should be.
> **Note:** `kms.KeyRingIAMBinding` resources **can be** used in conjunction with `kms.KeyRingIAMMember` resources **only if** they do not grant privilege to the same role.
## google\_kms\_key\_ring\_iam\_policy
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { keyring, err := kms.NewKeyRing(ctx, "keyring", &kms.KeyRingArgs{ Location: pulumi.String("global"), }) if err != nil { return err } admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{ Bindings: []organizations.GetIAMPolicyBinding{ organizations.GetIAMPolicyBinding{ Role: "roles/editor", Members: []string{ "user:jane@example.com", }, }, }, }, nil) if err != nil { return err } _, err = kms.NewKeyRingIAMPolicy(ctx, "keyRing", &kms.KeyRingIAMPolicyArgs{ KeyRingId: keyring.ID(), PolicyData: pulumi.String(admin.PolicyData), }) if err != nil { return err } return nil }) }
```
With IAM Conditions:
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { keyring, err := kms.NewKeyRing(ctx, "keyring", &kms.KeyRingArgs{ Location: pulumi.String("global"), }) if err != nil { return err } admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{ Bindings: []organizations.GetIAMPolicyBinding{ organizations.GetIAMPolicyBinding{ Role: "roles/editor", Members: []string{ "user:jane@example.com", }, Condition: organizations.GetIAMPolicyBindingCondition{ Title: "expires_after_2019_12_31", Description: pulumi.StringRef("Expiring at midnight of 2019-12-31"), Expression: "request.time < timestamp(\"2020-01-01T00:00:00Z\")", }, }, }, }, nil) if err != nil { return err } _, err = kms.NewKeyRingIAMPolicy(ctx, "keyRing", &kms.KeyRingIAMPolicyArgs{ KeyRingId: keyring.ID(), PolicyData: pulumi.String(admin.PolicyData), }) if err != nil { return err } return nil }) }
```
## google\_kms\_key\_ring\_iam\_binding
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := kms.NewKeyRingIAMBinding(ctx, "keyRing", &kms.KeyRingIAMBindingArgs{ KeyRingId: pulumi.String("your-key-ring-id"), Members: pulumi.StringArray{ pulumi.String("user:jane@example.com"), }, Role: pulumi.String("roles/editor"), }) if err != nil { return err } return nil }) }
```
With IAM Conditions:
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := kms.NewKeyRingIAMBinding(ctx, "keyRing", &kms.KeyRingIAMBindingArgs{ Condition: &kms.KeyRingIAMBindingConditionArgs{ Description: pulumi.String("Expiring at midnight of 2019-12-31"), Expression: pulumi.String("request.time < timestamp(\"2020-01-01T00:00:00Z\")"), Title: pulumi.String("expires_after_2019_12_31"), }, KeyRingId: pulumi.String("your-key-ring-id"), Members: pulumi.StringArray{ pulumi.String("user:jane@example.com"), }, Role: pulumi.String("roles/editor"), }) if err != nil { return err } return nil }) }
```
## google\_kms\_key\_ring\_iam\_member
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := kms.NewKeyRingIAMMember(ctx, "keyRing", &kms.KeyRingIAMMemberArgs{ KeyRingId: pulumi.String("your-key-ring-id"), Member: pulumi.String("user:jane@example.com"), Role: pulumi.String("roles/editor"), }) if err != nil { return err } return nil }) }
```
With IAM Conditions:
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := kms.NewKeyRingIAMMember(ctx, "keyRing", &kms.KeyRingIAMMemberArgs{ Condition: &kms.KeyRingIAMMemberConditionArgs{ Description: pulumi.String("Expiring at midnight of 2019-12-31"), Expression: pulumi.String("request.time < timestamp(\"2020-01-01T00:00:00Z\")"), Title: pulumi.String("expires_after_2019_12_31"), }, KeyRingId: pulumi.String("your-key-ring-id"), Member: pulumi.String("user:jane@example.com"), Role: pulumi.String("roles/editor"), }) if err != nil { return err } return nil }) }
```
## Import
IAM member imports use space-delimited identifiers; the resource in question, the role, and the account.
This member resource can be imported using the `key_ring_id`, role, and account e.g.
```sh
$ pulumi import gcp:kms/keyRingIAMMember:KeyRingIAMMember key_ring_iam "your-project-id/location-name/key-ring-name roles/viewer user:foo@example.com"
```
IAM binding imports use space-delimited identifiers; the resource in question and the role.
This binding resource can be imported using the `key_ring_id` and role, e.g.
```sh
$ pulumi import gcp:kms/keyRingIAMMember:KeyRingIAMMember key_ring_iam "your-project-id/location-name/key-ring-name roles/viewer"
```
IAM policy imports use the identifier of the resource in question.
This policy resource can be imported using the `key_ring_id`, e.g.
```sh
$ pulumi import gcp:kms/keyRingIAMMember:KeyRingIAMMember key_ring_iam your-project-id/location-name/key-ring-name
```
func GetKeyRingIAMMember ¶
func GetKeyRingIAMMember(ctx *pulumi.Context, name string, id pulumi.IDInput, state *KeyRingIAMMemberState, opts ...pulumi.ResourceOption) (*KeyRingIAMMember, error)
GetKeyRingIAMMember gets an existing KeyRingIAMMember resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewKeyRingIAMMember ¶
func NewKeyRingIAMMember(ctx *pulumi.Context, name string, args *KeyRingIAMMemberArgs, opts ...pulumi.ResourceOption) (*KeyRingIAMMember, error)
NewKeyRingIAMMember registers a new resource with the given unique name, arguments, and options.
func (*KeyRingIAMMember) ElementType ¶
func (*KeyRingIAMMember) ElementType() reflect.Type
func (*KeyRingIAMMember) ToKeyRingIAMMemberOutput ¶
func (i *KeyRingIAMMember) ToKeyRingIAMMemberOutput() KeyRingIAMMemberOutput
func (*KeyRingIAMMember) ToKeyRingIAMMemberOutputWithContext ¶
func (i *KeyRingIAMMember) ToKeyRingIAMMemberOutputWithContext(ctx context.Context) KeyRingIAMMemberOutput
type KeyRingIAMMemberArgs ¶
type KeyRingIAMMemberArgs struct { // ) An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding. // Structure is documented below. Condition KeyRingIAMMemberConditionPtrInput // The key ring ID, in the form // `{project_id}/{location_name}/{key_ring_name}` or // `{location_name}/{key_ring_name}`. In the second form, the provider's // project setting will be used as a fallback. KeyRingId pulumi.StringInput Member pulumi.StringInput // The role that should be applied. Only one // `kms.KeyRingIAMBinding` can be used per role. Note that custom roles must be of the format // `[projects|organizations]/{parent-name}/roles/{role-name}`. Role pulumi.StringInput }
The set of arguments for constructing a KeyRingIAMMember resource.
func (KeyRingIAMMemberArgs) ElementType ¶
func (KeyRingIAMMemberArgs) ElementType() reflect.Type
type KeyRingIAMMemberArray ¶
type KeyRingIAMMemberArray []KeyRingIAMMemberInput
func (KeyRingIAMMemberArray) ElementType ¶
func (KeyRingIAMMemberArray) ElementType() reflect.Type
func (KeyRingIAMMemberArray) ToKeyRingIAMMemberArrayOutput ¶
func (i KeyRingIAMMemberArray) ToKeyRingIAMMemberArrayOutput() KeyRingIAMMemberArrayOutput
func (KeyRingIAMMemberArray) ToKeyRingIAMMemberArrayOutputWithContext ¶
func (i KeyRingIAMMemberArray) ToKeyRingIAMMemberArrayOutputWithContext(ctx context.Context) KeyRingIAMMemberArrayOutput
type KeyRingIAMMemberArrayInput ¶
type KeyRingIAMMemberArrayInput interface { pulumi.Input ToKeyRingIAMMemberArrayOutput() KeyRingIAMMemberArrayOutput ToKeyRingIAMMemberArrayOutputWithContext(context.Context) KeyRingIAMMemberArrayOutput }
KeyRingIAMMemberArrayInput is an input type that accepts KeyRingIAMMemberArray and KeyRingIAMMemberArrayOutput values. You can construct a concrete instance of `KeyRingIAMMemberArrayInput` via:
KeyRingIAMMemberArray{ KeyRingIAMMemberArgs{...} }
type KeyRingIAMMemberArrayOutput ¶
type KeyRingIAMMemberArrayOutput struct{ *pulumi.OutputState }
func (KeyRingIAMMemberArrayOutput) ElementType ¶
func (KeyRingIAMMemberArrayOutput) ElementType() reflect.Type
func (KeyRingIAMMemberArrayOutput) Index ¶
func (o KeyRingIAMMemberArrayOutput) Index(i pulumi.IntInput) KeyRingIAMMemberOutput
func (KeyRingIAMMemberArrayOutput) ToKeyRingIAMMemberArrayOutput ¶
func (o KeyRingIAMMemberArrayOutput) ToKeyRingIAMMemberArrayOutput() KeyRingIAMMemberArrayOutput
func (KeyRingIAMMemberArrayOutput) ToKeyRingIAMMemberArrayOutputWithContext ¶
func (o KeyRingIAMMemberArrayOutput) ToKeyRingIAMMemberArrayOutputWithContext(ctx context.Context) KeyRingIAMMemberArrayOutput
type KeyRingIAMMemberCondition ¶
type KeyRingIAMMemberCondition struct { // An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. Description *string `pulumi:"description"` // Textual representation of an expression in Common Expression Language syntax. Expression string `pulumi:"expression"` // A title for the expression, i.e. a short string describing its purpose. Title string `pulumi:"title"` }
type KeyRingIAMMemberConditionArgs ¶
type KeyRingIAMMemberConditionArgs struct { // An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. Description pulumi.StringPtrInput `pulumi:"description"` // Textual representation of an expression in Common Expression Language syntax. Expression pulumi.StringInput `pulumi:"expression"` // A title for the expression, i.e. a short string describing its purpose. Title pulumi.StringInput `pulumi:"title"` }
func (KeyRingIAMMemberConditionArgs) ElementType ¶
func (KeyRingIAMMemberConditionArgs) ElementType() reflect.Type
func (KeyRingIAMMemberConditionArgs) ToKeyRingIAMMemberConditionOutput ¶
func (i KeyRingIAMMemberConditionArgs) ToKeyRingIAMMemberConditionOutput() KeyRingIAMMemberConditionOutput
func (KeyRingIAMMemberConditionArgs) ToKeyRingIAMMemberConditionOutputWithContext ¶
func (i KeyRingIAMMemberConditionArgs) ToKeyRingIAMMemberConditionOutputWithContext(ctx context.Context) KeyRingIAMMemberConditionOutput
func (KeyRingIAMMemberConditionArgs) ToKeyRingIAMMemberConditionPtrOutput ¶
func (i KeyRingIAMMemberConditionArgs) ToKeyRingIAMMemberConditionPtrOutput() KeyRingIAMMemberConditionPtrOutput
func (KeyRingIAMMemberConditionArgs) ToKeyRingIAMMemberConditionPtrOutputWithContext ¶
func (i KeyRingIAMMemberConditionArgs) ToKeyRingIAMMemberConditionPtrOutputWithContext(ctx context.Context) KeyRingIAMMemberConditionPtrOutput
type KeyRingIAMMemberConditionInput ¶
type KeyRingIAMMemberConditionInput interface { pulumi.Input ToKeyRingIAMMemberConditionOutput() KeyRingIAMMemberConditionOutput ToKeyRingIAMMemberConditionOutputWithContext(context.Context) KeyRingIAMMemberConditionOutput }
KeyRingIAMMemberConditionInput is an input type that accepts KeyRingIAMMemberConditionArgs and KeyRingIAMMemberConditionOutput values. You can construct a concrete instance of `KeyRingIAMMemberConditionInput` via:
KeyRingIAMMemberConditionArgs{...}
type KeyRingIAMMemberConditionOutput ¶
type KeyRingIAMMemberConditionOutput struct{ *pulumi.OutputState }
func (KeyRingIAMMemberConditionOutput) Description ¶
func (o KeyRingIAMMemberConditionOutput) Description() pulumi.StringPtrOutput
An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
func (KeyRingIAMMemberConditionOutput) ElementType ¶
func (KeyRingIAMMemberConditionOutput) ElementType() reflect.Type
func (KeyRingIAMMemberConditionOutput) Expression ¶
func (o KeyRingIAMMemberConditionOutput) Expression() pulumi.StringOutput
Textual representation of an expression in Common Expression Language syntax.
func (KeyRingIAMMemberConditionOutput) Title ¶
func (o KeyRingIAMMemberConditionOutput) Title() pulumi.StringOutput
A title for the expression, i.e. a short string describing its purpose.
func (KeyRingIAMMemberConditionOutput) ToKeyRingIAMMemberConditionOutput ¶
func (o KeyRingIAMMemberConditionOutput) ToKeyRingIAMMemberConditionOutput() KeyRingIAMMemberConditionOutput
func (KeyRingIAMMemberConditionOutput) ToKeyRingIAMMemberConditionOutputWithContext ¶
func (o KeyRingIAMMemberConditionOutput) ToKeyRingIAMMemberConditionOutputWithContext(ctx context.Context) KeyRingIAMMemberConditionOutput
func (KeyRingIAMMemberConditionOutput) ToKeyRingIAMMemberConditionPtrOutput ¶
func (o KeyRingIAMMemberConditionOutput) ToKeyRingIAMMemberConditionPtrOutput() KeyRingIAMMemberConditionPtrOutput
func (KeyRingIAMMemberConditionOutput) ToKeyRingIAMMemberConditionPtrOutputWithContext ¶
func (o KeyRingIAMMemberConditionOutput) ToKeyRingIAMMemberConditionPtrOutputWithContext(ctx context.Context) KeyRingIAMMemberConditionPtrOutput
type KeyRingIAMMemberConditionPtrInput ¶
type KeyRingIAMMemberConditionPtrInput interface { pulumi.Input ToKeyRingIAMMemberConditionPtrOutput() KeyRingIAMMemberConditionPtrOutput ToKeyRingIAMMemberConditionPtrOutputWithContext(context.Context) KeyRingIAMMemberConditionPtrOutput }
KeyRingIAMMemberConditionPtrInput is an input type that accepts KeyRingIAMMemberConditionArgs, KeyRingIAMMemberConditionPtr and KeyRingIAMMemberConditionPtrOutput values. You can construct a concrete instance of `KeyRingIAMMemberConditionPtrInput` via:
KeyRingIAMMemberConditionArgs{...} or: nil
func KeyRingIAMMemberConditionPtr ¶
func KeyRingIAMMemberConditionPtr(v *KeyRingIAMMemberConditionArgs) KeyRingIAMMemberConditionPtrInput
type KeyRingIAMMemberConditionPtrOutput ¶
type KeyRingIAMMemberConditionPtrOutput struct{ *pulumi.OutputState }
func (KeyRingIAMMemberConditionPtrOutput) Description ¶
func (o KeyRingIAMMemberConditionPtrOutput) Description() pulumi.StringPtrOutput
An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
func (KeyRingIAMMemberConditionPtrOutput) Elem ¶
func (o KeyRingIAMMemberConditionPtrOutput) Elem() KeyRingIAMMemberConditionOutput
func (KeyRingIAMMemberConditionPtrOutput) ElementType ¶
func (KeyRingIAMMemberConditionPtrOutput) ElementType() reflect.Type
func (KeyRingIAMMemberConditionPtrOutput) Expression ¶
func (o KeyRingIAMMemberConditionPtrOutput) Expression() pulumi.StringPtrOutput
Textual representation of an expression in Common Expression Language syntax.
func (KeyRingIAMMemberConditionPtrOutput) Title ¶
func (o KeyRingIAMMemberConditionPtrOutput) Title() pulumi.StringPtrOutput
A title for the expression, i.e. a short string describing its purpose.
func (KeyRingIAMMemberConditionPtrOutput) ToKeyRingIAMMemberConditionPtrOutput ¶
func (o KeyRingIAMMemberConditionPtrOutput) ToKeyRingIAMMemberConditionPtrOutput() KeyRingIAMMemberConditionPtrOutput
func (KeyRingIAMMemberConditionPtrOutput) ToKeyRingIAMMemberConditionPtrOutputWithContext ¶
func (o KeyRingIAMMemberConditionPtrOutput) ToKeyRingIAMMemberConditionPtrOutputWithContext(ctx context.Context) KeyRingIAMMemberConditionPtrOutput
type KeyRingIAMMemberInput ¶
type KeyRingIAMMemberInput interface { pulumi.Input ToKeyRingIAMMemberOutput() KeyRingIAMMemberOutput ToKeyRingIAMMemberOutputWithContext(ctx context.Context) KeyRingIAMMemberOutput }
type KeyRingIAMMemberMap ¶
type KeyRingIAMMemberMap map[string]KeyRingIAMMemberInput
func (KeyRingIAMMemberMap) ElementType ¶
func (KeyRingIAMMemberMap) ElementType() reflect.Type
func (KeyRingIAMMemberMap) ToKeyRingIAMMemberMapOutput ¶
func (i KeyRingIAMMemberMap) ToKeyRingIAMMemberMapOutput() KeyRingIAMMemberMapOutput
func (KeyRingIAMMemberMap) ToKeyRingIAMMemberMapOutputWithContext ¶
func (i KeyRingIAMMemberMap) ToKeyRingIAMMemberMapOutputWithContext(ctx context.Context) KeyRingIAMMemberMapOutput
type KeyRingIAMMemberMapInput ¶
type KeyRingIAMMemberMapInput interface { pulumi.Input ToKeyRingIAMMemberMapOutput() KeyRingIAMMemberMapOutput ToKeyRingIAMMemberMapOutputWithContext(context.Context) KeyRingIAMMemberMapOutput }
KeyRingIAMMemberMapInput is an input type that accepts KeyRingIAMMemberMap and KeyRingIAMMemberMapOutput values. You can construct a concrete instance of `KeyRingIAMMemberMapInput` via:
KeyRingIAMMemberMap{ "key": KeyRingIAMMemberArgs{...} }
type KeyRingIAMMemberMapOutput ¶
type KeyRingIAMMemberMapOutput struct{ *pulumi.OutputState }
func (KeyRingIAMMemberMapOutput) ElementType ¶
func (KeyRingIAMMemberMapOutput) ElementType() reflect.Type
func (KeyRingIAMMemberMapOutput) MapIndex ¶
func (o KeyRingIAMMemberMapOutput) MapIndex(k pulumi.StringInput) KeyRingIAMMemberOutput
func (KeyRingIAMMemberMapOutput) ToKeyRingIAMMemberMapOutput ¶
func (o KeyRingIAMMemberMapOutput) ToKeyRingIAMMemberMapOutput() KeyRingIAMMemberMapOutput
func (KeyRingIAMMemberMapOutput) ToKeyRingIAMMemberMapOutputWithContext ¶
func (o KeyRingIAMMemberMapOutput) ToKeyRingIAMMemberMapOutputWithContext(ctx context.Context) KeyRingIAMMemberMapOutput
type KeyRingIAMMemberOutput ¶
type KeyRingIAMMemberOutput struct{ *pulumi.OutputState }
func (KeyRingIAMMemberOutput) ElementType ¶
func (KeyRingIAMMemberOutput) ElementType() reflect.Type
func (KeyRingIAMMemberOutput) ToKeyRingIAMMemberOutput ¶
func (o KeyRingIAMMemberOutput) ToKeyRingIAMMemberOutput() KeyRingIAMMemberOutput
func (KeyRingIAMMemberOutput) ToKeyRingIAMMemberOutputWithContext ¶
func (o KeyRingIAMMemberOutput) ToKeyRingIAMMemberOutputWithContext(ctx context.Context) KeyRingIAMMemberOutput
type KeyRingIAMMemberState ¶
type KeyRingIAMMemberState struct { // ) An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding. // Structure is documented below. Condition KeyRingIAMMemberConditionPtrInput // (Computed) The etag of the key ring's IAM policy. Etag pulumi.StringPtrInput // The key ring ID, in the form // `{project_id}/{location_name}/{key_ring_name}` or // `{location_name}/{key_ring_name}`. In the second form, the provider's // project setting will be used as a fallback. KeyRingId pulumi.StringPtrInput Member pulumi.StringPtrInput // The role that should be applied. Only one // `kms.KeyRingIAMBinding` can be used per role. Note that custom roles must be of the format // `[projects|organizations]/{parent-name}/roles/{role-name}`. Role pulumi.StringPtrInput }
func (KeyRingIAMMemberState) ElementType ¶
func (KeyRingIAMMemberState) ElementType() reflect.Type
type KeyRingIAMPolicy ¶
type KeyRingIAMPolicy struct { pulumi.CustomResourceState // (Computed) The etag of the key ring's IAM policy. Etag pulumi.StringOutput `pulumi:"etag"` // The key ring ID, in the form // `{project_id}/{location_name}/{key_ring_name}` or // `{location_name}/{key_ring_name}`. In the second form, the provider's // project setting will be used as a fallback. KeyRingId pulumi.StringOutput `pulumi:"keyRingId"` // The policy data generated by // a `organizations.getIAMPolicy` data source. PolicyData pulumi.StringOutput `pulumi:"policyData"` }
Three different resources help you manage your IAM policy for KMS key ring. Each of these resources serves a different use case:
* `kms.KeyRingIAMPolicy`: Authoritative. Sets the IAM policy for the key ring and replaces any existing policy already attached. * `kms.KeyRingIAMBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the key ring are preserved. * `kms.KeyRingIAMMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the key ring are preserved.
> **Note:** `kms.KeyRingIAMPolicy` **cannot** be used in conjunction with `kms.KeyRingIAMBinding` and `kms.KeyRingIAMMember` or they will fight over what your policy should be.
> **Note:** `kms.KeyRingIAMBinding` resources **can be** used in conjunction with `kms.KeyRingIAMMember` resources **only if** they do not grant privilege to the same role.
## google\_kms\_key\_ring\_iam\_policy
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { keyring, err := kms.NewKeyRing(ctx, "keyring", &kms.KeyRingArgs{ Location: pulumi.String("global"), }) if err != nil { return err } admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{ Bindings: []organizations.GetIAMPolicyBinding{ organizations.GetIAMPolicyBinding{ Role: "roles/editor", Members: []string{ "user:jane@example.com", }, }, }, }, nil) if err != nil { return err } _, err = kms.NewKeyRingIAMPolicy(ctx, "keyRing", &kms.KeyRingIAMPolicyArgs{ KeyRingId: keyring.ID(), PolicyData: pulumi.String(admin.PolicyData), }) if err != nil { return err } return nil }) }
```
With IAM Conditions:
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { keyring, err := kms.NewKeyRing(ctx, "keyring", &kms.KeyRingArgs{ Location: pulumi.String("global"), }) if err != nil { return err } admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{ Bindings: []organizations.GetIAMPolicyBinding{ organizations.GetIAMPolicyBinding{ Role: "roles/editor", Members: []string{ "user:jane@example.com", }, Condition: organizations.GetIAMPolicyBindingCondition{ Title: "expires_after_2019_12_31", Description: pulumi.StringRef("Expiring at midnight of 2019-12-31"), Expression: "request.time < timestamp(\"2020-01-01T00:00:00Z\")", }, }, }, }, nil) if err != nil { return err } _, err = kms.NewKeyRingIAMPolicy(ctx, "keyRing", &kms.KeyRingIAMPolicyArgs{ KeyRingId: keyring.ID(), PolicyData: pulumi.String(admin.PolicyData), }) if err != nil { return err } return nil }) }
```
## google\_kms\_key\_ring\_iam\_binding
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := kms.NewKeyRingIAMBinding(ctx, "keyRing", &kms.KeyRingIAMBindingArgs{ KeyRingId: pulumi.String("your-key-ring-id"), Members: pulumi.StringArray{ pulumi.String("user:jane@example.com"), }, Role: pulumi.String("roles/editor"), }) if err != nil { return err } return nil }) }
```
With IAM Conditions:
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := kms.NewKeyRingIAMBinding(ctx, "keyRing", &kms.KeyRingIAMBindingArgs{ Condition: &kms.KeyRingIAMBindingConditionArgs{ Description: pulumi.String("Expiring at midnight of 2019-12-31"), Expression: pulumi.String("request.time < timestamp(\"2020-01-01T00:00:00Z\")"), Title: pulumi.String("expires_after_2019_12_31"), }, KeyRingId: pulumi.String("your-key-ring-id"), Members: pulumi.StringArray{ pulumi.String("user:jane@example.com"), }, Role: pulumi.String("roles/editor"), }) if err != nil { return err } return nil }) }
```
## google\_kms\_key\_ring\_iam\_member
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := kms.NewKeyRingIAMMember(ctx, "keyRing", &kms.KeyRingIAMMemberArgs{ KeyRingId: pulumi.String("your-key-ring-id"), Member: pulumi.String("user:jane@example.com"), Role: pulumi.String("roles/editor"), }) if err != nil { return err } return nil }) }
```
With IAM Conditions:
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := kms.NewKeyRingIAMMember(ctx, "keyRing", &kms.KeyRingIAMMemberArgs{ Condition: &kms.KeyRingIAMMemberConditionArgs{ Description: pulumi.String("Expiring at midnight of 2019-12-31"), Expression: pulumi.String("request.time < timestamp(\"2020-01-01T00:00:00Z\")"), Title: pulumi.String("expires_after_2019_12_31"), }, KeyRingId: pulumi.String("your-key-ring-id"), Member: pulumi.String("user:jane@example.com"), Role: pulumi.String("roles/editor"), }) if err != nil { return err } return nil }) }
```
## Import
IAM member imports use space-delimited identifiers; the resource in question, the role, and the account.
This member resource can be imported using the `key_ring_id`, role, and account e.g.
```sh
$ pulumi import gcp:kms/keyRingIAMPolicy:KeyRingIAMPolicy key_ring_iam "your-project-id/location-name/key-ring-name roles/viewer user:foo@example.com"
```
IAM binding imports use space-delimited identifiers; the resource in question and the role.
This binding resource can be imported using the `key_ring_id` and role, e.g.
```sh
$ pulumi import gcp:kms/keyRingIAMPolicy:KeyRingIAMPolicy key_ring_iam "your-project-id/location-name/key-ring-name roles/viewer"
```
IAM policy imports use the identifier of the resource in question.
This policy resource can be imported using the `key_ring_id`, e.g.
```sh
$ pulumi import gcp:kms/keyRingIAMPolicy:KeyRingIAMPolicy key_ring_iam your-project-id/location-name/key-ring-name
```
func GetKeyRingIAMPolicy ¶
func GetKeyRingIAMPolicy(ctx *pulumi.Context, name string, id pulumi.IDInput, state *KeyRingIAMPolicyState, opts ...pulumi.ResourceOption) (*KeyRingIAMPolicy, error)
GetKeyRingIAMPolicy gets an existing KeyRingIAMPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewKeyRingIAMPolicy ¶
func NewKeyRingIAMPolicy(ctx *pulumi.Context, name string, args *KeyRingIAMPolicyArgs, opts ...pulumi.ResourceOption) (*KeyRingIAMPolicy, error)
NewKeyRingIAMPolicy registers a new resource with the given unique name, arguments, and options.
func (*KeyRingIAMPolicy) ElementType ¶
func (*KeyRingIAMPolicy) ElementType() reflect.Type
func (*KeyRingIAMPolicy) ToKeyRingIAMPolicyOutput ¶
func (i *KeyRingIAMPolicy) ToKeyRingIAMPolicyOutput() KeyRingIAMPolicyOutput
func (*KeyRingIAMPolicy) ToKeyRingIAMPolicyOutputWithContext ¶
func (i *KeyRingIAMPolicy) ToKeyRingIAMPolicyOutputWithContext(ctx context.Context) KeyRingIAMPolicyOutput
type KeyRingIAMPolicyArgs ¶
type KeyRingIAMPolicyArgs struct { // The key ring ID, in the form // `{project_id}/{location_name}/{key_ring_name}` or // `{location_name}/{key_ring_name}`. In the second form, the provider's // project setting will be used as a fallback. KeyRingId pulumi.StringInput // The policy data generated by // a `organizations.getIAMPolicy` data source. PolicyData pulumi.StringInput }
The set of arguments for constructing a KeyRingIAMPolicy resource.
func (KeyRingIAMPolicyArgs) ElementType ¶
func (KeyRingIAMPolicyArgs) ElementType() reflect.Type
type KeyRingIAMPolicyArray ¶
type KeyRingIAMPolicyArray []KeyRingIAMPolicyInput
func (KeyRingIAMPolicyArray) ElementType ¶
func (KeyRingIAMPolicyArray) ElementType() reflect.Type
func (KeyRingIAMPolicyArray) ToKeyRingIAMPolicyArrayOutput ¶
func (i KeyRingIAMPolicyArray) ToKeyRingIAMPolicyArrayOutput() KeyRingIAMPolicyArrayOutput
func (KeyRingIAMPolicyArray) ToKeyRingIAMPolicyArrayOutputWithContext ¶
func (i KeyRingIAMPolicyArray) ToKeyRingIAMPolicyArrayOutputWithContext(ctx context.Context) KeyRingIAMPolicyArrayOutput
type KeyRingIAMPolicyArrayInput ¶
type KeyRingIAMPolicyArrayInput interface { pulumi.Input ToKeyRingIAMPolicyArrayOutput() KeyRingIAMPolicyArrayOutput ToKeyRingIAMPolicyArrayOutputWithContext(context.Context) KeyRingIAMPolicyArrayOutput }
KeyRingIAMPolicyArrayInput is an input type that accepts KeyRingIAMPolicyArray and KeyRingIAMPolicyArrayOutput values. You can construct a concrete instance of `KeyRingIAMPolicyArrayInput` via:
KeyRingIAMPolicyArray{ KeyRingIAMPolicyArgs{...} }
type KeyRingIAMPolicyArrayOutput ¶
type KeyRingIAMPolicyArrayOutput struct{ *pulumi.OutputState }
func (KeyRingIAMPolicyArrayOutput) ElementType ¶
func (KeyRingIAMPolicyArrayOutput) ElementType() reflect.Type
func (KeyRingIAMPolicyArrayOutput) Index ¶
func (o KeyRingIAMPolicyArrayOutput) Index(i pulumi.IntInput) KeyRingIAMPolicyOutput
func (KeyRingIAMPolicyArrayOutput) ToKeyRingIAMPolicyArrayOutput ¶
func (o KeyRingIAMPolicyArrayOutput) ToKeyRingIAMPolicyArrayOutput() KeyRingIAMPolicyArrayOutput
func (KeyRingIAMPolicyArrayOutput) ToKeyRingIAMPolicyArrayOutputWithContext ¶
func (o KeyRingIAMPolicyArrayOutput) ToKeyRingIAMPolicyArrayOutputWithContext(ctx context.Context) KeyRingIAMPolicyArrayOutput
type KeyRingIAMPolicyInput ¶
type KeyRingIAMPolicyInput interface { pulumi.Input ToKeyRingIAMPolicyOutput() KeyRingIAMPolicyOutput ToKeyRingIAMPolicyOutputWithContext(ctx context.Context) KeyRingIAMPolicyOutput }
type KeyRingIAMPolicyMap ¶
type KeyRingIAMPolicyMap map[string]KeyRingIAMPolicyInput
func (KeyRingIAMPolicyMap) ElementType ¶
func (KeyRingIAMPolicyMap) ElementType() reflect.Type
func (KeyRingIAMPolicyMap) ToKeyRingIAMPolicyMapOutput ¶
func (i KeyRingIAMPolicyMap) ToKeyRingIAMPolicyMapOutput() KeyRingIAMPolicyMapOutput
func (KeyRingIAMPolicyMap) ToKeyRingIAMPolicyMapOutputWithContext ¶
func (i KeyRingIAMPolicyMap) ToKeyRingIAMPolicyMapOutputWithContext(ctx context.Context) KeyRingIAMPolicyMapOutput
type KeyRingIAMPolicyMapInput ¶
type KeyRingIAMPolicyMapInput interface { pulumi.Input ToKeyRingIAMPolicyMapOutput() KeyRingIAMPolicyMapOutput ToKeyRingIAMPolicyMapOutputWithContext(context.Context) KeyRingIAMPolicyMapOutput }
KeyRingIAMPolicyMapInput is an input type that accepts KeyRingIAMPolicyMap and KeyRingIAMPolicyMapOutput values. You can construct a concrete instance of `KeyRingIAMPolicyMapInput` via:
KeyRingIAMPolicyMap{ "key": KeyRingIAMPolicyArgs{...} }
type KeyRingIAMPolicyMapOutput ¶
type KeyRingIAMPolicyMapOutput struct{ *pulumi.OutputState }
func (KeyRingIAMPolicyMapOutput) ElementType ¶
func (KeyRingIAMPolicyMapOutput) ElementType() reflect.Type
func (KeyRingIAMPolicyMapOutput) MapIndex ¶
func (o KeyRingIAMPolicyMapOutput) MapIndex(k pulumi.StringInput) KeyRingIAMPolicyOutput
func (KeyRingIAMPolicyMapOutput) ToKeyRingIAMPolicyMapOutput ¶
func (o KeyRingIAMPolicyMapOutput) ToKeyRingIAMPolicyMapOutput() KeyRingIAMPolicyMapOutput
func (KeyRingIAMPolicyMapOutput) ToKeyRingIAMPolicyMapOutputWithContext ¶
func (o KeyRingIAMPolicyMapOutput) ToKeyRingIAMPolicyMapOutputWithContext(ctx context.Context) KeyRingIAMPolicyMapOutput
type KeyRingIAMPolicyOutput ¶
type KeyRingIAMPolicyOutput struct{ *pulumi.OutputState }
func (KeyRingIAMPolicyOutput) ElementType ¶
func (KeyRingIAMPolicyOutput) ElementType() reflect.Type
func (KeyRingIAMPolicyOutput) ToKeyRingIAMPolicyOutput ¶
func (o KeyRingIAMPolicyOutput) ToKeyRingIAMPolicyOutput() KeyRingIAMPolicyOutput
func (KeyRingIAMPolicyOutput) ToKeyRingIAMPolicyOutputWithContext ¶
func (o KeyRingIAMPolicyOutput) ToKeyRingIAMPolicyOutputWithContext(ctx context.Context) KeyRingIAMPolicyOutput
type KeyRingIAMPolicyState ¶
type KeyRingIAMPolicyState struct { // (Computed) The etag of the key ring's IAM policy. Etag pulumi.StringPtrInput // The key ring ID, in the form // `{project_id}/{location_name}/{key_ring_name}` or // `{location_name}/{key_ring_name}`. In the second form, the provider's // project setting will be used as a fallback. KeyRingId pulumi.StringPtrInput // The policy data generated by // a `organizations.getIAMPolicy` data source. PolicyData pulumi.StringPtrInput }
func (KeyRingIAMPolicyState) ElementType ¶
func (KeyRingIAMPolicyState) ElementType() reflect.Type
type KeyRingImportJob ¶
type KeyRingImportJob struct { pulumi.CustomResourceState // 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. Attestations KeyRingImportJobAttestationArrayOutput `pulumi:"attestations"` // The time at which this resource is scheduled for expiration and can no longer be used. This is in RFC3339 text format. ExpireTime pulumi.StringOutput `pulumi:"expireTime"` // It must be unique within a KeyRing and match the regular expression [a-zA-Z0-9_-]{1,63} ImportJobId pulumi.StringOutput `pulumi:"importJobId"` // The wrapping method to be used for incoming key material. // Possible values are `RSA_OAEP_3072_SHA1_AES_256` and `RSA_OAEP_4096_SHA1_AES_256`. ImportMethod pulumi.StringOutput `pulumi:"importMethod"` // The KeyRing that this import job belongs to. // Format: `'projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}'`. KeyRing pulumi.StringOutput `pulumi:"keyRing"` // The resource name for this ImportJob in the format projects/*/locations/*/keyRings/*/importJobs/*. Name pulumi.StringOutput `pulumi:"name"` // The protection level of the ImportJob. This must match the protectionLevel of the // versionTemplate on the CryptoKey you attempt to import into. // Possible values are `SOFTWARE`, `HSM`, and `EXTERNAL`. ProtectionLevel pulumi.StringOutput `pulumi:"protectionLevel"` // The public key with which to wrap key material prior to import. Only returned if state is 'ACTIVE'. PublicKeys KeyRingImportJobPublicKeyArrayOutput `pulumi:"publicKeys"` // The current state of the ImportJob, indicating if it can be used. State pulumi.StringOutput `pulumi:"state"` }
A `KeyRingImportJob` can be used to create `CryptoKeys` and `CryptoKeyVersions` using pre-existing key material, generated outside of Cloud KMS. A `KeyRingImportJob` 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 `KeyRingImportJob`'s public key.
> **Note:** KeyRingImportJobs cannot be deleted from Google Cloud Platform. Destroying a provider-managed KeyRingImportJob will remove it from state but *will not delete the resource from the project.*
To get more information about KeyRingImportJob, see:
* [API documentation](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.importJobs) * How-to Guides
- [Importing a key](https://cloud.google.com/kms/docs/importing-a-key)
## Example Usage
## Import
KeyRingImportJob can be imported using any of these accepted formats ¶
```sh
$ pulumi import gcp:kms/keyRingImportJob:KeyRingImportJob default {{name}}
```
func GetKeyRingImportJob ¶
func GetKeyRingImportJob(ctx *pulumi.Context, name string, id pulumi.IDInput, state *KeyRingImportJobState, opts ...pulumi.ResourceOption) (*KeyRingImportJob, error)
GetKeyRingImportJob gets an existing KeyRingImportJob resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewKeyRingImportJob ¶
func NewKeyRingImportJob(ctx *pulumi.Context, name string, args *KeyRingImportJobArgs, opts ...pulumi.ResourceOption) (*KeyRingImportJob, error)
NewKeyRingImportJob registers a new resource with the given unique name, arguments, and options.
func (*KeyRingImportJob) ElementType ¶
func (*KeyRingImportJob) ElementType() reflect.Type
func (*KeyRingImportJob) ToKeyRingImportJobOutput ¶
func (i *KeyRingImportJob) ToKeyRingImportJobOutput() KeyRingImportJobOutput
func (*KeyRingImportJob) ToKeyRingImportJobOutputWithContext ¶
func (i *KeyRingImportJob) ToKeyRingImportJobOutputWithContext(ctx context.Context) KeyRingImportJobOutput
type KeyRingImportJobArgs ¶
type KeyRingImportJobArgs struct { // It must be unique within a KeyRing and match the regular expression [a-zA-Z0-9_-]{1,63} ImportJobId pulumi.StringInput // The wrapping method to be used for incoming key material. // Possible values are `RSA_OAEP_3072_SHA1_AES_256` and `RSA_OAEP_4096_SHA1_AES_256`. ImportMethod pulumi.StringInput // The KeyRing that this import job belongs to. // Format: `'projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}'`. KeyRing pulumi.StringInput // The protection level of the ImportJob. This must match the protectionLevel of the // versionTemplate on the CryptoKey you attempt to import into. // Possible values are `SOFTWARE`, `HSM`, and `EXTERNAL`. ProtectionLevel pulumi.StringInput }
The set of arguments for constructing a KeyRingImportJob resource.
func (KeyRingImportJobArgs) ElementType ¶
func (KeyRingImportJobArgs) ElementType() reflect.Type
type KeyRingImportJobArray ¶
type KeyRingImportJobArray []KeyRingImportJobInput
func (KeyRingImportJobArray) ElementType ¶
func (KeyRingImportJobArray) ElementType() reflect.Type
func (KeyRingImportJobArray) ToKeyRingImportJobArrayOutput ¶
func (i KeyRingImportJobArray) ToKeyRingImportJobArrayOutput() KeyRingImportJobArrayOutput
func (KeyRingImportJobArray) ToKeyRingImportJobArrayOutputWithContext ¶
func (i KeyRingImportJobArray) ToKeyRingImportJobArrayOutputWithContext(ctx context.Context) KeyRingImportJobArrayOutput
type KeyRingImportJobArrayInput ¶
type KeyRingImportJobArrayInput interface { pulumi.Input ToKeyRingImportJobArrayOutput() KeyRingImportJobArrayOutput ToKeyRingImportJobArrayOutputWithContext(context.Context) KeyRingImportJobArrayOutput }
KeyRingImportJobArrayInput is an input type that accepts KeyRingImportJobArray and KeyRingImportJobArrayOutput values. You can construct a concrete instance of `KeyRingImportJobArrayInput` via:
KeyRingImportJobArray{ KeyRingImportJobArgs{...} }
type KeyRingImportJobArrayOutput ¶
type KeyRingImportJobArrayOutput struct{ *pulumi.OutputState }
func (KeyRingImportJobArrayOutput) ElementType ¶
func (KeyRingImportJobArrayOutput) ElementType() reflect.Type
func (KeyRingImportJobArrayOutput) Index ¶
func (o KeyRingImportJobArrayOutput) Index(i pulumi.IntInput) KeyRingImportJobOutput
func (KeyRingImportJobArrayOutput) ToKeyRingImportJobArrayOutput ¶
func (o KeyRingImportJobArrayOutput) ToKeyRingImportJobArrayOutput() KeyRingImportJobArrayOutput
func (KeyRingImportJobArrayOutput) ToKeyRingImportJobArrayOutputWithContext ¶
func (o KeyRingImportJobArrayOutput) ToKeyRingImportJobArrayOutputWithContext(ctx context.Context) KeyRingImportJobArrayOutput
type KeyRingImportJobAttestationArgs ¶
type KeyRingImportJobAttestationArgs struct { Content pulumi.StringPtrInput `pulumi:"content"` Format pulumi.StringPtrInput `pulumi:"format"` }
func (KeyRingImportJobAttestationArgs) ElementType ¶
func (KeyRingImportJobAttestationArgs) ElementType() reflect.Type
func (KeyRingImportJobAttestationArgs) ToKeyRingImportJobAttestationOutput ¶
func (i KeyRingImportJobAttestationArgs) ToKeyRingImportJobAttestationOutput() KeyRingImportJobAttestationOutput
func (KeyRingImportJobAttestationArgs) ToKeyRingImportJobAttestationOutputWithContext ¶
func (i KeyRingImportJobAttestationArgs) ToKeyRingImportJobAttestationOutputWithContext(ctx context.Context) KeyRingImportJobAttestationOutput
type KeyRingImportJobAttestationArray ¶
type KeyRingImportJobAttestationArray []KeyRingImportJobAttestationInput
func (KeyRingImportJobAttestationArray) ElementType ¶
func (KeyRingImportJobAttestationArray) ElementType() reflect.Type
func (KeyRingImportJobAttestationArray) ToKeyRingImportJobAttestationArrayOutput ¶
func (i KeyRingImportJobAttestationArray) ToKeyRingImportJobAttestationArrayOutput() KeyRingImportJobAttestationArrayOutput
func (KeyRingImportJobAttestationArray) ToKeyRingImportJobAttestationArrayOutputWithContext ¶
func (i KeyRingImportJobAttestationArray) ToKeyRingImportJobAttestationArrayOutputWithContext(ctx context.Context) KeyRingImportJobAttestationArrayOutput
type KeyRingImportJobAttestationArrayInput ¶
type KeyRingImportJobAttestationArrayInput interface { pulumi.Input ToKeyRingImportJobAttestationArrayOutput() KeyRingImportJobAttestationArrayOutput ToKeyRingImportJobAttestationArrayOutputWithContext(context.Context) KeyRingImportJobAttestationArrayOutput }
KeyRingImportJobAttestationArrayInput is an input type that accepts KeyRingImportJobAttestationArray and KeyRingImportJobAttestationArrayOutput values. You can construct a concrete instance of `KeyRingImportJobAttestationArrayInput` via:
KeyRingImportJobAttestationArray{ KeyRingImportJobAttestationArgs{...} }
type KeyRingImportJobAttestationArrayOutput ¶
type KeyRingImportJobAttestationArrayOutput struct{ *pulumi.OutputState }
func (KeyRingImportJobAttestationArrayOutput) ElementType ¶
func (KeyRingImportJobAttestationArrayOutput) ElementType() reflect.Type
func (KeyRingImportJobAttestationArrayOutput) ToKeyRingImportJobAttestationArrayOutput ¶
func (o KeyRingImportJobAttestationArrayOutput) ToKeyRingImportJobAttestationArrayOutput() KeyRingImportJobAttestationArrayOutput
func (KeyRingImportJobAttestationArrayOutput) ToKeyRingImportJobAttestationArrayOutputWithContext ¶
func (o KeyRingImportJobAttestationArrayOutput) ToKeyRingImportJobAttestationArrayOutputWithContext(ctx context.Context) KeyRingImportJobAttestationArrayOutput
type KeyRingImportJobAttestationInput ¶
type KeyRingImportJobAttestationInput interface { pulumi.Input ToKeyRingImportJobAttestationOutput() KeyRingImportJobAttestationOutput ToKeyRingImportJobAttestationOutputWithContext(context.Context) KeyRingImportJobAttestationOutput }
KeyRingImportJobAttestationInput is an input type that accepts KeyRingImportJobAttestationArgs and KeyRingImportJobAttestationOutput values. You can construct a concrete instance of `KeyRingImportJobAttestationInput` via:
KeyRingImportJobAttestationArgs{...}
type KeyRingImportJobAttestationOutput ¶
type KeyRingImportJobAttestationOutput struct{ *pulumi.OutputState }
func (KeyRingImportJobAttestationOutput) Content ¶
func (o KeyRingImportJobAttestationOutput) Content() pulumi.StringPtrOutput
func (KeyRingImportJobAttestationOutput) ElementType ¶
func (KeyRingImportJobAttestationOutput) ElementType() reflect.Type
func (KeyRingImportJobAttestationOutput) Format ¶
func (o KeyRingImportJobAttestationOutput) Format() pulumi.StringPtrOutput
func (KeyRingImportJobAttestationOutput) ToKeyRingImportJobAttestationOutput ¶
func (o KeyRingImportJobAttestationOutput) ToKeyRingImportJobAttestationOutput() KeyRingImportJobAttestationOutput
func (KeyRingImportJobAttestationOutput) ToKeyRingImportJobAttestationOutputWithContext ¶
func (o KeyRingImportJobAttestationOutput) ToKeyRingImportJobAttestationOutputWithContext(ctx context.Context) KeyRingImportJobAttestationOutput
type KeyRingImportJobInput ¶
type KeyRingImportJobInput interface { pulumi.Input ToKeyRingImportJobOutput() KeyRingImportJobOutput ToKeyRingImportJobOutputWithContext(ctx context.Context) KeyRingImportJobOutput }
type KeyRingImportJobMap ¶
type KeyRingImportJobMap map[string]KeyRingImportJobInput
func (KeyRingImportJobMap) ElementType ¶
func (KeyRingImportJobMap) ElementType() reflect.Type
func (KeyRingImportJobMap) ToKeyRingImportJobMapOutput ¶
func (i KeyRingImportJobMap) ToKeyRingImportJobMapOutput() KeyRingImportJobMapOutput
func (KeyRingImportJobMap) ToKeyRingImportJobMapOutputWithContext ¶
func (i KeyRingImportJobMap) ToKeyRingImportJobMapOutputWithContext(ctx context.Context) KeyRingImportJobMapOutput
type KeyRingImportJobMapInput ¶
type KeyRingImportJobMapInput interface { pulumi.Input ToKeyRingImportJobMapOutput() KeyRingImportJobMapOutput ToKeyRingImportJobMapOutputWithContext(context.Context) KeyRingImportJobMapOutput }
KeyRingImportJobMapInput is an input type that accepts KeyRingImportJobMap and KeyRingImportJobMapOutput values. You can construct a concrete instance of `KeyRingImportJobMapInput` via:
KeyRingImportJobMap{ "key": KeyRingImportJobArgs{...} }
type KeyRingImportJobMapOutput ¶
type KeyRingImportJobMapOutput struct{ *pulumi.OutputState }
func (KeyRingImportJobMapOutput) ElementType ¶
func (KeyRingImportJobMapOutput) ElementType() reflect.Type
func (KeyRingImportJobMapOutput) MapIndex ¶
func (o KeyRingImportJobMapOutput) MapIndex(k pulumi.StringInput) KeyRingImportJobOutput
func (KeyRingImportJobMapOutput) ToKeyRingImportJobMapOutput ¶
func (o KeyRingImportJobMapOutput) ToKeyRingImportJobMapOutput() KeyRingImportJobMapOutput
func (KeyRingImportJobMapOutput) ToKeyRingImportJobMapOutputWithContext ¶
func (o KeyRingImportJobMapOutput) ToKeyRingImportJobMapOutputWithContext(ctx context.Context) KeyRingImportJobMapOutput
type KeyRingImportJobOutput ¶
type KeyRingImportJobOutput struct{ *pulumi.OutputState }
func (KeyRingImportJobOutput) ElementType ¶
func (KeyRingImportJobOutput) ElementType() reflect.Type
func (KeyRingImportJobOutput) ToKeyRingImportJobOutput ¶
func (o KeyRingImportJobOutput) ToKeyRingImportJobOutput() KeyRingImportJobOutput
func (KeyRingImportJobOutput) ToKeyRingImportJobOutputWithContext ¶
func (o KeyRingImportJobOutput) ToKeyRingImportJobOutputWithContext(ctx context.Context) KeyRingImportJobOutput
type KeyRingImportJobPublicKey ¶
type KeyRingImportJobPublicKey struct {
Pem *string `pulumi:"pem"`
}
type KeyRingImportJobPublicKeyArgs ¶
type KeyRingImportJobPublicKeyArgs struct {
Pem pulumi.StringPtrInput `pulumi:"pem"`
}
func (KeyRingImportJobPublicKeyArgs) ElementType ¶
func (KeyRingImportJobPublicKeyArgs) ElementType() reflect.Type
func (KeyRingImportJobPublicKeyArgs) ToKeyRingImportJobPublicKeyOutput ¶
func (i KeyRingImportJobPublicKeyArgs) ToKeyRingImportJobPublicKeyOutput() KeyRingImportJobPublicKeyOutput
func (KeyRingImportJobPublicKeyArgs) ToKeyRingImportJobPublicKeyOutputWithContext ¶
func (i KeyRingImportJobPublicKeyArgs) ToKeyRingImportJobPublicKeyOutputWithContext(ctx context.Context) KeyRingImportJobPublicKeyOutput
type KeyRingImportJobPublicKeyArray ¶
type KeyRingImportJobPublicKeyArray []KeyRingImportJobPublicKeyInput
func (KeyRingImportJobPublicKeyArray) ElementType ¶
func (KeyRingImportJobPublicKeyArray) ElementType() reflect.Type
func (KeyRingImportJobPublicKeyArray) ToKeyRingImportJobPublicKeyArrayOutput ¶
func (i KeyRingImportJobPublicKeyArray) ToKeyRingImportJobPublicKeyArrayOutput() KeyRingImportJobPublicKeyArrayOutput
func (KeyRingImportJobPublicKeyArray) ToKeyRingImportJobPublicKeyArrayOutputWithContext ¶
func (i KeyRingImportJobPublicKeyArray) ToKeyRingImportJobPublicKeyArrayOutputWithContext(ctx context.Context) KeyRingImportJobPublicKeyArrayOutput
type KeyRingImportJobPublicKeyArrayInput ¶
type KeyRingImportJobPublicKeyArrayInput interface { pulumi.Input ToKeyRingImportJobPublicKeyArrayOutput() KeyRingImportJobPublicKeyArrayOutput ToKeyRingImportJobPublicKeyArrayOutputWithContext(context.Context) KeyRingImportJobPublicKeyArrayOutput }
KeyRingImportJobPublicKeyArrayInput is an input type that accepts KeyRingImportJobPublicKeyArray and KeyRingImportJobPublicKeyArrayOutput values. You can construct a concrete instance of `KeyRingImportJobPublicKeyArrayInput` via:
KeyRingImportJobPublicKeyArray{ KeyRingImportJobPublicKeyArgs{...} }
type KeyRingImportJobPublicKeyArrayOutput ¶
type KeyRingImportJobPublicKeyArrayOutput struct{ *pulumi.OutputState }
func (KeyRingImportJobPublicKeyArrayOutput) ElementType ¶
func (KeyRingImportJobPublicKeyArrayOutput) ElementType() reflect.Type
func (KeyRingImportJobPublicKeyArrayOutput) Index ¶
func (o KeyRingImportJobPublicKeyArrayOutput) Index(i pulumi.IntInput) KeyRingImportJobPublicKeyOutput
func (KeyRingImportJobPublicKeyArrayOutput) ToKeyRingImportJobPublicKeyArrayOutput ¶
func (o KeyRingImportJobPublicKeyArrayOutput) ToKeyRingImportJobPublicKeyArrayOutput() KeyRingImportJobPublicKeyArrayOutput
func (KeyRingImportJobPublicKeyArrayOutput) ToKeyRingImportJobPublicKeyArrayOutputWithContext ¶
func (o KeyRingImportJobPublicKeyArrayOutput) ToKeyRingImportJobPublicKeyArrayOutputWithContext(ctx context.Context) KeyRingImportJobPublicKeyArrayOutput
type KeyRingImportJobPublicKeyInput ¶
type KeyRingImportJobPublicKeyInput interface { pulumi.Input ToKeyRingImportJobPublicKeyOutput() KeyRingImportJobPublicKeyOutput ToKeyRingImportJobPublicKeyOutputWithContext(context.Context) KeyRingImportJobPublicKeyOutput }
KeyRingImportJobPublicKeyInput is an input type that accepts KeyRingImportJobPublicKeyArgs and KeyRingImportJobPublicKeyOutput values. You can construct a concrete instance of `KeyRingImportJobPublicKeyInput` via:
KeyRingImportJobPublicKeyArgs{...}
type KeyRingImportJobPublicKeyOutput ¶
type KeyRingImportJobPublicKeyOutput struct{ *pulumi.OutputState }
func (KeyRingImportJobPublicKeyOutput) ElementType ¶
func (KeyRingImportJobPublicKeyOutput) ElementType() reflect.Type
func (KeyRingImportJobPublicKeyOutput) Pem ¶
func (o KeyRingImportJobPublicKeyOutput) Pem() pulumi.StringPtrOutput
func (KeyRingImportJobPublicKeyOutput) ToKeyRingImportJobPublicKeyOutput ¶
func (o KeyRingImportJobPublicKeyOutput) ToKeyRingImportJobPublicKeyOutput() KeyRingImportJobPublicKeyOutput
func (KeyRingImportJobPublicKeyOutput) ToKeyRingImportJobPublicKeyOutputWithContext ¶
func (o KeyRingImportJobPublicKeyOutput) ToKeyRingImportJobPublicKeyOutputWithContext(ctx context.Context) KeyRingImportJobPublicKeyOutput
type KeyRingImportJobState ¶
type KeyRingImportJobState struct { // 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. Attestations KeyRingImportJobAttestationArrayInput // The time at which this resource is scheduled for expiration and can no longer be used. This is in RFC3339 text format. ExpireTime pulumi.StringPtrInput // It must be unique within a KeyRing and match the regular expression [a-zA-Z0-9_-]{1,63} ImportJobId pulumi.StringPtrInput // The wrapping method to be used for incoming key material. // Possible values are `RSA_OAEP_3072_SHA1_AES_256` and `RSA_OAEP_4096_SHA1_AES_256`. ImportMethod pulumi.StringPtrInput // The KeyRing that this import job belongs to. // Format: `'projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}'`. KeyRing pulumi.StringPtrInput // The resource name for this ImportJob in the format projects/*/locations/*/keyRings/*/importJobs/*. Name pulumi.StringPtrInput // The protection level of the ImportJob. This must match the protectionLevel of the // versionTemplate on the CryptoKey you attempt to import into. // Possible values are `SOFTWARE`, `HSM`, and `EXTERNAL`. ProtectionLevel pulumi.StringPtrInput // The public key with which to wrap key material prior to import. Only returned if state is 'ACTIVE'. PublicKeys KeyRingImportJobPublicKeyArrayInput // The current state of the ImportJob, indicating if it can be used. State pulumi.StringPtrInput }
func (KeyRingImportJobState) ElementType ¶
func (KeyRingImportJobState) ElementType() reflect.Type
type KeyRingInput ¶
type KeyRingInput interface { pulumi.Input ToKeyRingOutput() KeyRingOutput ToKeyRingOutputWithContext(ctx context.Context) KeyRingOutput }
type KeyRingMap ¶
type KeyRingMap map[string]KeyRingInput
func (KeyRingMap) ElementType ¶
func (KeyRingMap) ElementType() reflect.Type
func (KeyRingMap) ToKeyRingMapOutput ¶
func (i KeyRingMap) ToKeyRingMapOutput() KeyRingMapOutput
func (KeyRingMap) ToKeyRingMapOutputWithContext ¶
func (i KeyRingMap) ToKeyRingMapOutputWithContext(ctx context.Context) KeyRingMapOutput
type KeyRingMapInput ¶
type KeyRingMapInput interface { pulumi.Input ToKeyRingMapOutput() KeyRingMapOutput ToKeyRingMapOutputWithContext(context.Context) KeyRingMapOutput }
KeyRingMapInput is an input type that accepts KeyRingMap and KeyRingMapOutput values. You can construct a concrete instance of `KeyRingMapInput` via:
KeyRingMap{ "key": KeyRingArgs{...} }
type KeyRingMapOutput ¶
type KeyRingMapOutput struct{ *pulumi.OutputState }
func (KeyRingMapOutput) ElementType ¶
func (KeyRingMapOutput) ElementType() reflect.Type
func (KeyRingMapOutput) MapIndex ¶
func (o KeyRingMapOutput) MapIndex(k pulumi.StringInput) KeyRingOutput
func (KeyRingMapOutput) ToKeyRingMapOutput ¶
func (o KeyRingMapOutput) ToKeyRingMapOutput() KeyRingMapOutput
func (KeyRingMapOutput) ToKeyRingMapOutputWithContext ¶
func (o KeyRingMapOutput) ToKeyRingMapOutputWithContext(ctx context.Context) KeyRingMapOutput
type KeyRingOutput ¶
type KeyRingOutput struct{ *pulumi.OutputState }
func (KeyRingOutput) ElementType ¶
func (KeyRingOutput) ElementType() reflect.Type
func (KeyRingOutput) ToKeyRingOutput ¶
func (o KeyRingOutput) ToKeyRingOutput() KeyRingOutput
func (KeyRingOutput) ToKeyRingOutputWithContext ¶
func (o KeyRingOutput) ToKeyRingOutputWithContext(ctx context.Context) KeyRingOutput
type KeyRingState ¶
type KeyRingState struct { // The location for the KeyRing. // A full list of valid locations can be found by running `gcloud kms locations list`. Location pulumi.StringPtrInput // The resource name for the KeyRing. Name pulumi.StringPtrInput // The ID of the project in which the resource belongs. // If it is not provided, the provider project is used. Project pulumi.StringPtrInput }
func (KeyRingState) ElementType ¶
func (KeyRingState) ElementType() reflect.Type
type Registry
deprecated
type Registry struct { pulumi.CustomResourceState // List of public key certificates to authenticate devices. // The structure is documented below. Credentials RegistryCredentialArrayOutput `pulumi:"credentials"` // List of configurations for event notifications, such as PubSub topics // to publish device events to. // Structure is documented below. EventNotificationConfigs RegistryEventNotificationConfigItemArrayOutput `pulumi:"eventNotificationConfigs"` // Activate or deactivate HTTP. // The structure is documented below. HttpConfig pulumi.MapOutput `pulumi:"httpConfig"` // The default logging verbosity for activity from devices in this // registry. Specifies which events should be written to logs. For // example, if the LogLevel is ERROR, only events that terminate in // errors will be logged. LogLevel is inclusive; enabling INFO logging // will also enable ERROR logging. // Default value is `NONE`. // Possible values are `NONE`, `ERROR`, `INFO`, and `DEBUG`. LogLevel pulumi.StringPtrOutput `pulumi:"logLevel"` // Activate or deactivate MQTT. // The structure is documented below. MqttConfig pulumi.MapOutput `pulumi:"mqttConfig"` // A unique name for the resource, required by device registry. Name pulumi.StringOutput `pulumi:"name"` // The ID of the project in which the resource belongs. // If it is not provided, the provider project is used. Project pulumi.StringOutput `pulumi:"project"` // The region in which the created registry should reside. // If it is not provided, the provider region is used. Region pulumi.StringOutput `pulumi:"region"` // A PubSub topic to publish device state updates. // The structure is documented below. StateNotificationConfig pulumi.MapOutput `pulumi:"stateNotificationConfig"` }
A Google Cloud IoT Core device registry.
To get more information about DeviceRegistry, see:
* [API documentation](https://cloud.google.com/iot/docs/reference/cloudiot/rest/) * How-to Guides
- [Official Documentation](https://cloud.google.com/iot/docs/)
## Example Usage ### Cloudiot Device Registry Basic
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/iot" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := iot.NewRegistry(ctx, "test-registry", nil) if err != nil { return err } return nil }) }
``` ### Cloudiot Device Registry Single Event Notification Configs
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/iot" "github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/pubsub" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := pubsub.NewTopic(ctx, "default-telemetry", nil) if err != nil { return err } _, err = iot.NewRegistry(ctx, "test-registry", &iot.RegistryArgs{ EventNotificationConfigs: iot.RegistryEventNotificationConfigItemArray{ &iot.RegistryEventNotificationConfigItemArgs{ PubsubTopicName: default_telemetry.ID(), SubfolderMatches: pulumi.String(""), }, }, }) if err != nil { return err } return nil }) }
``` ### Cloudiot Device Registry Full
```go package main
import (
"io/ioutil" "github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/iot" "github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/pubsub" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func readFileOrPanic(path string) pulumi.StringPtrInput { data, err := ioutil.ReadFile(path) if err != nil { panic(err.Error()) } return pulumi.String(string(data)) }
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := pubsub.NewTopic(ctx, "default-devicestatus", nil) if err != nil { return err } _, err = pubsub.NewTopic(ctx, "default-telemetry", nil) if err != nil { return err } _, err = pubsub.NewTopic(ctx, "additional-telemetry", nil) if err != nil { return err } _, err = iot.NewRegistry(ctx, "test-registry", &iot.RegistryArgs{ EventNotificationConfigs: iot.RegistryEventNotificationConfigItemArray{ &iot.RegistryEventNotificationConfigItemArgs{ PubsubTopicName: additional_telemetry.ID(), SubfolderMatches: pulumi.String("test/path"), }, &iot.RegistryEventNotificationConfigItemArgs{ PubsubTopicName: default_telemetry.ID(), SubfolderMatches: pulumi.String(""), }, }, StateNotificationConfig: pulumi.AnyMap{ "pubsub_topic_name": default_devicestatus.ID(), }, MqttConfig: pulumi.AnyMap{ "mqtt_enabled_state": pulumi.Any("MQTT_ENABLED"), }, HttpConfig: pulumi.AnyMap{ "http_enabled_state": pulumi.Any("HTTP_ENABLED"), }, LogLevel: pulumi.String("INFO"), Credentials: iot.RegistryCredentialArray{ &iot.RegistryCredentialArgs{ PublicKeyCertificate: pulumi.AnyMap{ "format": pulumi.Any("X509_CERTIFICATE_PEM"), "certificate": readFileOrPanic("test-fixtures/rsa_cert.pem"), }, }, }, }) if err != nil { return err } return nil }) }
```
## Import
DeviceRegistry can be imported using any of these accepted formats ¶
```sh
$ pulumi import gcp:kms/registry:Registry default {{project}}/locations/{{region}}/registries/{{name}}
```
```sh
$ pulumi import gcp:kms/registry:Registry default {{project}}/{{region}}/{{name}}
```
```sh
$ pulumi import gcp:kms/registry:Registry default {{region}}/{{name}}
```
```sh
$ pulumi import gcp:kms/registry:Registry default {{name}}
```
Deprecated: gcp.kms.Registry has been deprecated in favor of gcp.iot.Registry
func GetRegistry ¶
func GetRegistry(ctx *pulumi.Context, name string, id pulumi.IDInput, state *RegistryState, opts ...pulumi.ResourceOption) (*Registry, error)
GetRegistry gets an existing Registry resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewRegistry ¶
func NewRegistry(ctx *pulumi.Context, name string, args *RegistryArgs, opts ...pulumi.ResourceOption) (*Registry, error)
NewRegistry registers a new resource with the given unique name, arguments, and options.
func (*Registry) ElementType ¶
func (*Registry) ToRegistryOutput ¶
func (i *Registry) ToRegistryOutput() RegistryOutput
func (*Registry) ToRegistryOutputWithContext ¶
func (i *Registry) ToRegistryOutputWithContext(ctx context.Context) RegistryOutput
type RegistryArgs ¶
type RegistryArgs struct { // List of public key certificates to authenticate devices. // The structure is documented below. Credentials RegistryCredentialArrayInput // List of configurations for event notifications, such as PubSub topics // to publish device events to. // Structure is documented below. EventNotificationConfigs RegistryEventNotificationConfigItemArrayInput // Activate or deactivate HTTP. // The structure is documented below. HttpConfig pulumi.MapInput // The default logging verbosity for activity from devices in this // registry. Specifies which events should be written to logs. For // example, if the LogLevel is ERROR, only events that terminate in // errors will be logged. LogLevel is inclusive; enabling INFO logging // will also enable ERROR logging. // Default value is `NONE`. // Possible values are `NONE`, `ERROR`, `INFO`, and `DEBUG`. LogLevel pulumi.StringPtrInput // Activate or deactivate MQTT. // The structure is documented below. MqttConfig pulumi.MapInput // A unique name for the resource, required by device registry. Name pulumi.StringPtrInput // The ID of the project in which the resource belongs. // If it is not provided, the provider project is used. Project pulumi.StringPtrInput // The region in which the created registry should reside. // If it is not provided, the provider region is used. Region pulumi.StringPtrInput // A PubSub topic to publish device state updates. // The structure is documented below. StateNotificationConfig pulumi.MapInput }
The set of arguments for constructing a Registry resource.
func (RegistryArgs) ElementType ¶
func (RegistryArgs) ElementType() reflect.Type
type RegistryArray ¶
type RegistryArray []RegistryInput
func (RegistryArray) ElementType ¶
func (RegistryArray) ElementType() reflect.Type
func (RegistryArray) ToRegistryArrayOutput ¶
func (i RegistryArray) ToRegistryArrayOutput() RegistryArrayOutput
func (RegistryArray) ToRegistryArrayOutputWithContext ¶
func (i RegistryArray) ToRegistryArrayOutputWithContext(ctx context.Context) RegistryArrayOutput
type RegistryArrayInput ¶
type RegistryArrayInput interface { pulumi.Input ToRegistryArrayOutput() RegistryArrayOutput ToRegistryArrayOutputWithContext(context.Context) RegistryArrayOutput }
RegistryArrayInput is an input type that accepts RegistryArray and RegistryArrayOutput values. You can construct a concrete instance of `RegistryArrayInput` via:
RegistryArray{ RegistryArgs{...} }
type RegistryArrayOutput ¶
type RegistryArrayOutput struct{ *pulumi.OutputState }
func (RegistryArrayOutput) ElementType ¶
func (RegistryArrayOutput) ElementType() reflect.Type
func (RegistryArrayOutput) Index ¶
func (o RegistryArrayOutput) Index(i pulumi.IntInput) RegistryOutput
func (RegistryArrayOutput) ToRegistryArrayOutput ¶
func (o RegistryArrayOutput) ToRegistryArrayOutput() RegistryArrayOutput
func (RegistryArrayOutput) ToRegistryArrayOutputWithContext ¶
func (o RegistryArrayOutput) ToRegistryArrayOutputWithContext(ctx context.Context) RegistryArrayOutput
type RegistryCredential ¶
type RegistryCredential struct { // A public key certificate format and data. PublicKeyCertificate map[string]interface{} `pulumi:"publicKeyCertificate"` }
type RegistryCredentialArgs ¶
type RegistryCredentialArgs struct { // A public key certificate format and data. PublicKeyCertificate pulumi.MapInput `pulumi:"publicKeyCertificate"` }
func (RegistryCredentialArgs) ElementType ¶
func (RegistryCredentialArgs) ElementType() reflect.Type
func (RegistryCredentialArgs) ToRegistryCredentialOutput ¶
func (i RegistryCredentialArgs) ToRegistryCredentialOutput() RegistryCredentialOutput
func (RegistryCredentialArgs) ToRegistryCredentialOutputWithContext ¶
func (i RegistryCredentialArgs) ToRegistryCredentialOutputWithContext(ctx context.Context) RegistryCredentialOutput
type RegistryCredentialArray ¶
type RegistryCredentialArray []RegistryCredentialInput
func (RegistryCredentialArray) ElementType ¶
func (RegistryCredentialArray) ElementType() reflect.Type
func (RegistryCredentialArray) ToRegistryCredentialArrayOutput ¶
func (i RegistryCredentialArray) ToRegistryCredentialArrayOutput() RegistryCredentialArrayOutput
func (RegistryCredentialArray) ToRegistryCredentialArrayOutputWithContext ¶
func (i RegistryCredentialArray) ToRegistryCredentialArrayOutputWithContext(ctx context.Context) RegistryCredentialArrayOutput
type RegistryCredentialArrayInput ¶
type RegistryCredentialArrayInput interface { pulumi.Input ToRegistryCredentialArrayOutput() RegistryCredentialArrayOutput ToRegistryCredentialArrayOutputWithContext(context.Context) RegistryCredentialArrayOutput }
RegistryCredentialArrayInput is an input type that accepts RegistryCredentialArray and RegistryCredentialArrayOutput values. You can construct a concrete instance of `RegistryCredentialArrayInput` via:
RegistryCredentialArray{ RegistryCredentialArgs{...} }
type RegistryCredentialArrayOutput ¶
type RegistryCredentialArrayOutput struct{ *pulumi.OutputState }
func (RegistryCredentialArrayOutput) ElementType ¶
func (RegistryCredentialArrayOutput) ElementType() reflect.Type
func (RegistryCredentialArrayOutput) Index ¶
func (o RegistryCredentialArrayOutput) Index(i pulumi.IntInput) RegistryCredentialOutput
func (RegistryCredentialArrayOutput) ToRegistryCredentialArrayOutput ¶
func (o RegistryCredentialArrayOutput) ToRegistryCredentialArrayOutput() RegistryCredentialArrayOutput
func (RegistryCredentialArrayOutput) ToRegistryCredentialArrayOutputWithContext ¶
func (o RegistryCredentialArrayOutput) ToRegistryCredentialArrayOutputWithContext(ctx context.Context) RegistryCredentialArrayOutput
type RegistryCredentialInput ¶
type RegistryCredentialInput interface { pulumi.Input ToRegistryCredentialOutput() RegistryCredentialOutput ToRegistryCredentialOutputWithContext(context.Context) RegistryCredentialOutput }
RegistryCredentialInput is an input type that accepts RegistryCredentialArgs and RegistryCredentialOutput values. You can construct a concrete instance of `RegistryCredentialInput` via:
RegistryCredentialArgs{...}
type RegistryCredentialOutput ¶
type RegistryCredentialOutput struct{ *pulumi.OutputState }
func (RegistryCredentialOutput) ElementType ¶
func (RegistryCredentialOutput) ElementType() reflect.Type
func (RegistryCredentialOutput) PublicKeyCertificate ¶
func (o RegistryCredentialOutput) PublicKeyCertificate() pulumi.MapOutput
A public key certificate format and data.
func (RegistryCredentialOutput) ToRegistryCredentialOutput ¶
func (o RegistryCredentialOutput) ToRegistryCredentialOutput() RegistryCredentialOutput
func (RegistryCredentialOutput) ToRegistryCredentialOutputWithContext ¶
func (o RegistryCredentialOutput) ToRegistryCredentialOutputWithContext(ctx context.Context) RegistryCredentialOutput
type RegistryEventNotificationConfigItem ¶
type RegistryEventNotificationConfigItem struct { // PubSub topic name to publish device events. PubsubTopicName string `pulumi:"pubsubTopicName"` // If the subfolder name matches this string exactly, this // configuration will be used. The string must not include the // leading '/' character. If empty, all strings are matched. Empty // value can only be used for the last `eventNotificationConfigs` // item. SubfolderMatches *string `pulumi:"subfolderMatches"` }
type RegistryEventNotificationConfigItemArgs ¶
type RegistryEventNotificationConfigItemArgs struct { // PubSub topic name to publish device events. PubsubTopicName pulumi.StringInput `pulumi:"pubsubTopicName"` // If the subfolder name matches this string exactly, this // configuration will be used. The string must not include the // leading '/' character. If empty, all strings are matched. Empty // value can only be used for the last `eventNotificationConfigs` // item. SubfolderMatches pulumi.StringPtrInput `pulumi:"subfolderMatches"` }
func (RegistryEventNotificationConfigItemArgs) ElementType ¶
func (RegistryEventNotificationConfigItemArgs) ElementType() reflect.Type
func (RegistryEventNotificationConfigItemArgs) ToRegistryEventNotificationConfigItemOutput ¶
func (i RegistryEventNotificationConfigItemArgs) ToRegistryEventNotificationConfigItemOutput() RegistryEventNotificationConfigItemOutput
func (RegistryEventNotificationConfigItemArgs) ToRegistryEventNotificationConfigItemOutputWithContext ¶
func (i RegistryEventNotificationConfigItemArgs) ToRegistryEventNotificationConfigItemOutputWithContext(ctx context.Context) RegistryEventNotificationConfigItemOutput
type RegistryEventNotificationConfigItemArray ¶
type RegistryEventNotificationConfigItemArray []RegistryEventNotificationConfigItemInput
func (RegistryEventNotificationConfigItemArray) ElementType ¶
func (RegistryEventNotificationConfigItemArray) ElementType() reflect.Type
func (RegistryEventNotificationConfigItemArray) ToRegistryEventNotificationConfigItemArrayOutput ¶
func (i RegistryEventNotificationConfigItemArray) ToRegistryEventNotificationConfigItemArrayOutput() RegistryEventNotificationConfigItemArrayOutput
func (RegistryEventNotificationConfigItemArray) ToRegistryEventNotificationConfigItemArrayOutputWithContext ¶
func (i RegistryEventNotificationConfigItemArray) ToRegistryEventNotificationConfigItemArrayOutputWithContext(ctx context.Context) RegistryEventNotificationConfigItemArrayOutput
type RegistryEventNotificationConfigItemArrayInput ¶
type RegistryEventNotificationConfigItemArrayInput interface { pulumi.Input ToRegistryEventNotificationConfigItemArrayOutput() RegistryEventNotificationConfigItemArrayOutput ToRegistryEventNotificationConfigItemArrayOutputWithContext(context.Context) RegistryEventNotificationConfigItemArrayOutput }
RegistryEventNotificationConfigItemArrayInput is an input type that accepts RegistryEventNotificationConfigItemArray and RegistryEventNotificationConfigItemArrayOutput values. You can construct a concrete instance of `RegistryEventNotificationConfigItemArrayInput` via:
RegistryEventNotificationConfigItemArray{ RegistryEventNotificationConfigItemArgs{...} }
type RegistryEventNotificationConfigItemArrayOutput ¶
type RegistryEventNotificationConfigItemArrayOutput struct{ *pulumi.OutputState }
func (RegistryEventNotificationConfigItemArrayOutput) ElementType ¶
func (RegistryEventNotificationConfigItemArrayOutput) ElementType() reflect.Type
func (RegistryEventNotificationConfigItemArrayOutput) ToRegistryEventNotificationConfigItemArrayOutput ¶
func (o RegistryEventNotificationConfigItemArrayOutput) ToRegistryEventNotificationConfigItemArrayOutput() RegistryEventNotificationConfigItemArrayOutput
func (RegistryEventNotificationConfigItemArrayOutput) ToRegistryEventNotificationConfigItemArrayOutputWithContext ¶
func (o RegistryEventNotificationConfigItemArrayOutput) ToRegistryEventNotificationConfigItemArrayOutputWithContext(ctx context.Context) RegistryEventNotificationConfigItemArrayOutput
type RegistryEventNotificationConfigItemInput ¶
type RegistryEventNotificationConfigItemInput interface { pulumi.Input ToRegistryEventNotificationConfigItemOutput() RegistryEventNotificationConfigItemOutput ToRegistryEventNotificationConfigItemOutputWithContext(context.Context) RegistryEventNotificationConfigItemOutput }
RegistryEventNotificationConfigItemInput is an input type that accepts RegistryEventNotificationConfigItemArgs and RegistryEventNotificationConfigItemOutput values. You can construct a concrete instance of `RegistryEventNotificationConfigItemInput` via:
RegistryEventNotificationConfigItemArgs{...}
type RegistryEventNotificationConfigItemOutput ¶
type RegistryEventNotificationConfigItemOutput struct{ *pulumi.OutputState }
func (RegistryEventNotificationConfigItemOutput) ElementType ¶
func (RegistryEventNotificationConfigItemOutput) ElementType() reflect.Type
func (RegistryEventNotificationConfigItemOutput) PubsubTopicName ¶
func (o RegistryEventNotificationConfigItemOutput) PubsubTopicName() pulumi.StringOutput
PubSub topic name to publish device events.
func (RegistryEventNotificationConfigItemOutput) SubfolderMatches ¶
func (o RegistryEventNotificationConfigItemOutput) SubfolderMatches() pulumi.StringPtrOutput
If the subfolder name matches this string exactly, this configuration will be used. The string must not include the leading '/' character. If empty, all strings are matched. Empty value can only be used for the last `eventNotificationConfigs` item.
func (RegistryEventNotificationConfigItemOutput) ToRegistryEventNotificationConfigItemOutput ¶
func (o RegistryEventNotificationConfigItemOutput) ToRegistryEventNotificationConfigItemOutput() RegistryEventNotificationConfigItemOutput
func (RegistryEventNotificationConfigItemOutput) ToRegistryEventNotificationConfigItemOutputWithContext ¶
func (o RegistryEventNotificationConfigItemOutput) ToRegistryEventNotificationConfigItemOutputWithContext(ctx context.Context) RegistryEventNotificationConfigItemOutput
type RegistryInput ¶
type RegistryInput interface { pulumi.Input ToRegistryOutput() RegistryOutput ToRegistryOutputWithContext(ctx context.Context) RegistryOutput }
type RegistryMap ¶
type RegistryMap map[string]RegistryInput
func (RegistryMap) ElementType ¶
func (RegistryMap) ElementType() reflect.Type
func (RegistryMap) ToRegistryMapOutput ¶
func (i RegistryMap) ToRegistryMapOutput() RegistryMapOutput
func (RegistryMap) ToRegistryMapOutputWithContext ¶
func (i RegistryMap) ToRegistryMapOutputWithContext(ctx context.Context) RegistryMapOutput
type RegistryMapInput ¶
type RegistryMapInput interface { pulumi.Input ToRegistryMapOutput() RegistryMapOutput ToRegistryMapOutputWithContext(context.Context) RegistryMapOutput }
RegistryMapInput is an input type that accepts RegistryMap and RegistryMapOutput values. You can construct a concrete instance of `RegistryMapInput` via:
RegistryMap{ "key": RegistryArgs{...} }
type RegistryMapOutput ¶
type RegistryMapOutput struct{ *pulumi.OutputState }
func (RegistryMapOutput) ElementType ¶
func (RegistryMapOutput) ElementType() reflect.Type
func (RegistryMapOutput) MapIndex ¶
func (o RegistryMapOutput) MapIndex(k pulumi.StringInput) RegistryOutput
func (RegistryMapOutput) ToRegistryMapOutput ¶
func (o RegistryMapOutput) ToRegistryMapOutput() RegistryMapOutput
func (RegistryMapOutput) ToRegistryMapOutputWithContext ¶
func (o RegistryMapOutput) ToRegistryMapOutputWithContext(ctx context.Context) RegistryMapOutput
type RegistryOutput ¶
type RegistryOutput struct{ *pulumi.OutputState }
func (RegistryOutput) ElementType ¶
func (RegistryOutput) ElementType() reflect.Type
func (RegistryOutput) ToRegistryOutput ¶
func (o RegistryOutput) ToRegistryOutput() RegistryOutput
func (RegistryOutput) ToRegistryOutputWithContext ¶
func (o RegistryOutput) ToRegistryOutputWithContext(ctx context.Context) RegistryOutput
type RegistryState ¶
type RegistryState struct { // List of public key certificates to authenticate devices. // The structure is documented below. Credentials RegistryCredentialArrayInput // List of configurations for event notifications, such as PubSub topics // to publish device events to. // Structure is documented below. EventNotificationConfigs RegistryEventNotificationConfigItemArrayInput // Activate or deactivate HTTP. // The structure is documented below. HttpConfig pulumi.MapInput // The default logging verbosity for activity from devices in this // registry. Specifies which events should be written to logs. For // example, if the LogLevel is ERROR, only events that terminate in // errors will be logged. LogLevel is inclusive; enabling INFO logging // will also enable ERROR logging. // Default value is `NONE`. // Possible values are `NONE`, `ERROR`, `INFO`, and `DEBUG`. LogLevel pulumi.StringPtrInput // Activate or deactivate MQTT. // The structure is documented below. MqttConfig pulumi.MapInput // A unique name for the resource, required by device registry. Name pulumi.StringPtrInput // The ID of the project in which the resource belongs. // If it is not provided, the provider project is used. Project pulumi.StringPtrInput // The region in which the created registry should reside. // If it is not provided, the provider region is used. Region pulumi.StringPtrInput // A PubSub topic to publish device state updates. // The structure is documented below. StateNotificationConfig pulumi.MapInput }
func (RegistryState) ElementType ¶
func (RegistryState) ElementType() reflect.Type
type SecretCiphertext ¶
type SecretCiphertext struct { pulumi.CustomResourceState // The additional authenticated data used for integrity checks during encryption and decryption. // **Note**: This property is sensitive and will not be displayed in the plan. AdditionalAuthenticatedData pulumi.StringPtrOutput `pulumi:"additionalAuthenticatedData"` // Contains the result of encrypting the provided plaintext, encoded in base64. Ciphertext pulumi.StringOutput `pulumi:"ciphertext"` // The full name of the CryptoKey that will be used to encrypt the provided plaintext. // Format: `'projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}/cryptoKeys/{{cryptoKey}}'` CryptoKey pulumi.StringOutput `pulumi:"cryptoKey"` // The plaintext to be encrypted. // **Note**: This property is sensitive and will not be displayed in the plan. Plaintext pulumi.StringOutput `pulumi:"plaintext"` }
Encrypts secret data with Google Cloud KMS and provides access to the ciphertext.
> **NOTE:** Using this resource will allow you to conceal secret data within your resource definitions, but it does not take care of protecting that data in the logging output, plan output, or state output. Please take care to secure your secret data outside of resource definitions.
To get more information about SecretCiphertext, see:
* [API documentation](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys/encrypt) * How-to Guides
- [Encrypting and decrypting data with a symmetric key](https://cloud.google.com/kms/docs/encrypt-decrypt)
> **Warning:** All arguments including `plaintext` and `additionalAuthenticatedData` will be stored in the raw state as plain-text. [Read more about secrets in state](https://www.pulumi.com/docs/intro/concepts/programming-model/#secrets).
## Example Usage ### Kms Secret Ciphertext Basic
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/compute" "github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { keyring, err := kms.NewKeyRing(ctx, "keyring", &kms.KeyRingArgs{ Location: pulumi.String("global"), }) if err != nil { return err } cryptokey, err := kms.NewCryptoKey(ctx, "cryptokey", &kms.CryptoKeyArgs{ KeyRing: keyring.ID(), RotationPeriod: pulumi.String("100000s"), }) if err != nil { return err } myPassword, err := kms.NewSecretCiphertext(ctx, "myPassword", &kms.SecretCiphertextArgs{ CryptoKey: cryptokey.ID(), Plaintext: pulumi.String("my-secret-password"), }) if err != nil { return err } _, err = compute.NewInstance(ctx, "instance", &compute.InstanceArgs{ MachineType: pulumi.String("e2-medium"), Zone: pulumi.String("us-central1-a"), BootDisk: &compute.InstanceBootDiskArgs{ InitializeParams: &compute.InstanceBootDiskInitializeParamsArgs{ Image: pulumi.String("debian-cloud/debian-9"), }, }, NetworkInterfaces: compute.InstanceNetworkInterfaceArray{ &compute.InstanceNetworkInterfaceArgs{ Network: pulumi.String("default"), AccessConfigs: compute.InstanceNetworkInterfaceAccessConfigArray{ nil, }, }, }, Metadata: pulumi.StringMap{ "password": myPassword.Ciphertext, }, }) if err != nil { return err } return nil }) }
```
## Import
This resource does not support import.
func GetSecretCiphertext ¶
func GetSecretCiphertext(ctx *pulumi.Context, name string, id pulumi.IDInput, state *SecretCiphertextState, opts ...pulumi.ResourceOption) (*SecretCiphertext, error)
GetSecretCiphertext gets an existing SecretCiphertext resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewSecretCiphertext ¶
func NewSecretCiphertext(ctx *pulumi.Context, name string, args *SecretCiphertextArgs, opts ...pulumi.ResourceOption) (*SecretCiphertext, error)
NewSecretCiphertext registers a new resource with the given unique name, arguments, and options.
func (*SecretCiphertext) ElementType ¶
func (*SecretCiphertext) ElementType() reflect.Type
func (*SecretCiphertext) ToSecretCiphertextOutput ¶
func (i *SecretCiphertext) ToSecretCiphertextOutput() SecretCiphertextOutput
func (*SecretCiphertext) ToSecretCiphertextOutputWithContext ¶
func (i *SecretCiphertext) ToSecretCiphertextOutputWithContext(ctx context.Context) SecretCiphertextOutput
type SecretCiphertextArgs ¶
type SecretCiphertextArgs struct { // The additional authenticated data used for integrity checks during encryption and decryption. // **Note**: This property is sensitive and will not be displayed in the plan. AdditionalAuthenticatedData pulumi.StringPtrInput // The full name of the CryptoKey that will be used to encrypt the provided plaintext. // Format: `'projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}/cryptoKeys/{{cryptoKey}}'` CryptoKey pulumi.StringInput // The plaintext to be encrypted. // **Note**: This property is sensitive and will not be displayed in the plan. Plaintext pulumi.StringInput }
The set of arguments for constructing a SecretCiphertext resource.
func (SecretCiphertextArgs) ElementType ¶
func (SecretCiphertextArgs) ElementType() reflect.Type
type SecretCiphertextArray ¶
type SecretCiphertextArray []SecretCiphertextInput
func (SecretCiphertextArray) ElementType ¶
func (SecretCiphertextArray) ElementType() reflect.Type
func (SecretCiphertextArray) ToSecretCiphertextArrayOutput ¶
func (i SecretCiphertextArray) ToSecretCiphertextArrayOutput() SecretCiphertextArrayOutput
func (SecretCiphertextArray) ToSecretCiphertextArrayOutputWithContext ¶
func (i SecretCiphertextArray) ToSecretCiphertextArrayOutputWithContext(ctx context.Context) SecretCiphertextArrayOutput
type SecretCiphertextArrayInput ¶
type SecretCiphertextArrayInput interface { pulumi.Input ToSecretCiphertextArrayOutput() SecretCiphertextArrayOutput ToSecretCiphertextArrayOutputWithContext(context.Context) SecretCiphertextArrayOutput }
SecretCiphertextArrayInput is an input type that accepts SecretCiphertextArray and SecretCiphertextArrayOutput values. You can construct a concrete instance of `SecretCiphertextArrayInput` via:
SecretCiphertextArray{ SecretCiphertextArgs{...} }
type SecretCiphertextArrayOutput ¶
type SecretCiphertextArrayOutput struct{ *pulumi.OutputState }
func (SecretCiphertextArrayOutput) ElementType ¶
func (SecretCiphertextArrayOutput) ElementType() reflect.Type
func (SecretCiphertextArrayOutput) Index ¶
func (o SecretCiphertextArrayOutput) Index(i pulumi.IntInput) SecretCiphertextOutput
func (SecretCiphertextArrayOutput) ToSecretCiphertextArrayOutput ¶
func (o SecretCiphertextArrayOutput) ToSecretCiphertextArrayOutput() SecretCiphertextArrayOutput
func (SecretCiphertextArrayOutput) ToSecretCiphertextArrayOutputWithContext ¶
func (o SecretCiphertextArrayOutput) ToSecretCiphertextArrayOutputWithContext(ctx context.Context) SecretCiphertextArrayOutput
type SecretCiphertextInput ¶
type SecretCiphertextInput interface { pulumi.Input ToSecretCiphertextOutput() SecretCiphertextOutput ToSecretCiphertextOutputWithContext(ctx context.Context) SecretCiphertextOutput }
type SecretCiphertextMap ¶
type SecretCiphertextMap map[string]SecretCiphertextInput
func (SecretCiphertextMap) ElementType ¶
func (SecretCiphertextMap) ElementType() reflect.Type
func (SecretCiphertextMap) ToSecretCiphertextMapOutput ¶
func (i SecretCiphertextMap) ToSecretCiphertextMapOutput() SecretCiphertextMapOutput
func (SecretCiphertextMap) ToSecretCiphertextMapOutputWithContext ¶
func (i SecretCiphertextMap) ToSecretCiphertextMapOutputWithContext(ctx context.Context) SecretCiphertextMapOutput
type SecretCiphertextMapInput ¶
type SecretCiphertextMapInput interface { pulumi.Input ToSecretCiphertextMapOutput() SecretCiphertextMapOutput ToSecretCiphertextMapOutputWithContext(context.Context) SecretCiphertextMapOutput }
SecretCiphertextMapInput is an input type that accepts SecretCiphertextMap and SecretCiphertextMapOutput values. You can construct a concrete instance of `SecretCiphertextMapInput` via:
SecretCiphertextMap{ "key": SecretCiphertextArgs{...} }
type SecretCiphertextMapOutput ¶
type SecretCiphertextMapOutput struct{ *pulumi.OutputState }
func (SecretCiphertextMapOutput) ElementType ¶
func (SecretCiphertextMapOutput) ElementType() reflect.Type
func (SecretCiphertextMapOutput) MapIndex ¶
func (o SecretCiphertextMapOutput) MapIndex(k pulumi.StringInput) SecretCiphertextOutput
func (SecretCiphertextMapOutput) ToSecretCiphertextMapOutput ¶
func (o SecretCiphertextMapOutput) ToSecretCiphertextMapOutput() SecretCiphertextMapOutput
func (SecretCiphertextMapOutput) ToSecretCiphertextMapOutputWithContext ¶
func (o SecretCiphertextMapOutput) ToSecretCiphertextMapOutputWithContext(ctx context.Context) SecretCiphertextMapOutput
type SecretCiphertextOutput ¶
type SecretCiphertextOutput struct{ *pulumi.OutputState }
func (SecretCiphertextOutput) ElementType ¶
func (SecretCiphertextOutput) ElementType() reflect.Type
func (SecretCiphertextOutput) ToSecretCiphertextOutput ¶
func (o SecretCiphertextOutput) ToSecretCiphertextOutput() SecretCiphertextOutput
func (SecretCiphertextOutput) ToSecretCiphertextOutputWithContext ¶
func (o SecretCiphertextOutput) ToSecretCiphertextOutputWithContext(ctx context.Context) SecretCiphertextOutput
type SecretCiphertextState ¶
type SecretCiphertextState struct { // The additional authenticated data used for integrity checks during encryption and decryption. // **Note**: This property is sensitive and will not be displayed in the plan. AdditionalAuthenticatedData pulumi.StringPtrInput // Contains the result of encrypting the provided plaintext, encoded in base64. Ciphertext pulumi.StringPtrInput // The full name of the CryptoKey that will be used to encrypt the provided plaintext. // Format: `'projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}/cryptoKeys/{{cryptoKey}}'` CryptoKey pulumi.StringPtrInput // The plaintext to be encrypted. // **Note**: This property is sensitive and will not be displayed in the plan. Plaintext pulumi.StringPtrInput }
func (SecretCiphertextState) ElementType ¶
func (SecretCiphertextState) ElementType() reflect.Type
Source Files ¶
- cryptoKey.go
- cryptoKeyIAMBinding.go
- cryptoKeyIAMMember.go
- cryptoKeyIAMPolicy.go
- getKMSCryptoKey.go
- getKMSCryptoKeyVersion.go
- getKMSKeyRing.go
- getKMSSecret.go
- getKMSSecretAsymmetric.go
- getKMSSecretCiphertext.go
- init.go
- keyRing.go
- keyRingIAMBinding.go
- keyRingIAMMember.go
- keyRingIAMPolicy.go
- keyRingImportJob.go
- pulumiTypes.go
- registry.go
- secretCiphertext.go