рдирдИ рдХрд╕реНрдЯрдо рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдХреЙрдЧреНрдирд┐рдЯреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреВрд▓ рдХреЗ рдкреБрди: рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
$ terraform -v
Terraform v0.11.4
+ provider.aws v1.11.0
aws_cognito_user_pool
variable "region" {
default = "us-east-1"
}
provider "aws" {
region = "${var.region}"
}
resource "aws_cognito_user_pool" "pool" {
name = "bug-test-pool"
/*
schema {
attribute_data_type = "Number"
developer_only_attribute = false
mutable = false
name = "custom-attribute"
required = false
}
*/
}
рдЙрдкрд░реЛрдХреНрдд рдХрд╕реНрдЯрдо рд╡рд┐рд╢реЗрд╖рддрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж terraform plan
рдЪрд▓рд╛рдиреЗ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯред
Refreshing Terraform state in-memory prior to plan...
The refreshed state will be used to calculate this plan, but will not be
persisted to local or remote state storage.
aws_cognito_user_pool.pool: Refreshing state... (ID: us-east-1_Cj77gRCdj)
------------------------------------------------------------------------
An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
-/+ destroy and then create replacement
Terraform will perform the following actions:
-/+ aws_cognito_user_pool.pool (new resource required)
id: "us-east-1_Cj77gRCdj" => <computed> (forces new resource)
admin_create_user_config.#: "1" => <computed>
arn: "arn:aws:cognito-idp:us-east-1:326947223243:userpool/us-east-1_Cj77gRCdj" => <computed>
creation_date: "2018-03-22T19:06:44Z" => <computed>
email_verification_message: "" => <computed>
email_verification_subject: "" => <computed>
lambda_config.#: "0" => <computed>
last_modified_date: "2018-03-22T19:06:44Z" => <computed>
mfa_configuration: "OFF" => "OFF"
name: "bug-test-pool" => "bug-test-pool"
password_policy.#: "1" => <computed>
schema.#: "" => "1" (forces new resource)
schema.2616754751.attribute_data_type: "" => "Number"
schema.2616754751.developer_only_attribute: "" => "false"
schema.2616754751.mutable: "" => "false"
schema.2616754751.name: "" => "custom-attribute"
schema.2616754751.number_attribute_constraints.#: "" => "0"
schema.2616754751.required: "" => "false"
schema.2616754751.string_attribute_constraints.#: "" => "0"
verification_message_template.#: "1" => <computed>
Plan: 1 to add, 0 to change, 1 to destroy.
------------------------------------------------------------------------
Note: You didn't specify an "-out" parameter to save this plan, so Terraform
can't guarantee that exactly these actions will be performed if
"terraform apply" is subsequently run.
рдХреЛрдИ рдирд╣реАрдВ
рдХреЙрдЧреНрдирд┐рдЯреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреВрд▓ рдХреЛ рдирд╖реНрдЯ рдФрд░ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд┐рдП рдмрд┐рдирд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ рдЬреЛрдбрд╝реЗрдВред рдпрд╣ рдХреЙрдЧреНрдирд┐рдЯреЛ рдпреВрдЖрдИ рдФрд░ рдПрдкреАрдЖрдИ (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIreference/API_AddCustomAttributes.html) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд╣реИред
рдХреЙрдЧреНрдирд┐рдЯреЛ рдпреВрдЬрд░ рдкреВрд▓ рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
schema.#: "" => "1" (forces new resource)
terraform apply
- рдирдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреВрд▓ рдмрдирд╛рдПрдВterrform plan
- рдЖрдЙрдЯрдкреБрдЯ рджреЗрдЦрдиреЗ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреЙрдЧреНрдирд┐рдЯреЛ рдпреВрдЬрд░ рдкреВрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдПрдЧрд╛редрдХреЛрдИ рдирд╣реАрдВ
рдХреЛрдИ рдирд╣реАрдВ
рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХрд╕реНрдЯрдо рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рд╣рдЯрд╛рдирд╛ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ AWS рдХрд╕реНрдЯрдо рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдпрд╛ рдХрд╕реНрдЯрдо рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рд╕рдВрджреЗрд╣ рд╣реИ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛_рдкреВрд▓ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдмрд╛рд░ рдмрдирд╛рдИ рдЧрдИ рдХрд╕реНрдЯрдо рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдпрд╛ рд╣рдЯрд╛ рдирд╣реАрдВ рд╕рдХрддрд╛ рд╣реИред рддреЛ рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реА рдореЗрд░реЗ рд╡рд┐рдЪрд╛рд░ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╣реИ AWS рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА
рдареАрдХ рд╣реИ, рдПрдХ рдмрд╛рд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж рдЙрдиреНрд╣реЗрдВ рд╣рдЯрд╛рдпрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЖрдк рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдХреНрдпрд╛ рд╕рдВрдкреВрд░реНрдг рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреВрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдП рдмрд┐рдирд╛ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рд╣реИ? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд╛рдЗрд╡ рд╣реЛрдиреЗ рдкрд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдПрдХ рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛ рдЬреЛрдбрд╝рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛ред
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ 1.12 рдкрд░ рдкреЗрдЧ рдХрд░рдиреЗ рд╕реЗ рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рддрдп рд╣реЛ рдЧрдпрд╛ рд╣реИред
рдЗрд╕ рдмреАрдЪ, рдЖрдк рдЗрд╕реЗ рдЯреЗрд░рд╛рдлреЙрд░реНрдо (рд╡реЗрдм тАЛтАЛрдХрдВрд╕реЛрд▓, рд╕реАрдПрд▓рдЖрдИ, рдЖрджрд┐) рдХреЗ рдмрд╛рд╣рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдмрд╛рдж рдореЗрдВ рдЕрдкрдиреЗ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╕рд┐рдВрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдереЛрдбрд╝рд╛ рдФрд░ рд╢реЛрдз рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓ рдЧрдИ рд╣реИред рдпрджрд┐ рд╕реНрдХреАрдорд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ) рдореЗрдВ string_attribute_constraints
рдпрд╣ рд╣рд░ рдмрд╛рд░ рдПрдХ рдирдП рд╕рдВрд╕рд╛рдзрди рдХреЛ рдмрд╛рдзреНрдп рдХрд░реЗрдЧрд╛ред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣рд░ рдмрд╛рд░ рдПрдХ рдирдпрд╛ рд╕рдВрд╕рд╛рдзрди рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ:
schema {
attribute_data_type = "String"
developer_only_attribute = false
mutable = false
name = "picture"
required = true
}
рдЬрдмрдХрд┐ рдпрд╣ рдирд╣реАрдВ рд╣реИ:
schema {
attribute_data_type = "String"
developer_only_attribute = false
mutable = false
name = "picture"
required = true
string_attribute_constraints {
min_length = 6
max_length = 32
}
}
рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдмрдЧ рд╣реИред
@leonfs рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдпрд╣рд╛рдВ рдПрдХ рдЕрдиреБрдХреВрд▓рд┐рдд рдлрд╝рдВрдХреНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ thwbrules рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкреВрд▓ рдХреЛ рдХрдм рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдирд╛ рд╣реИ рдФрд░ рдХрдм рдЗрд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рд╣реИред @bflad рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдореИрдВ рдЗрд╕реЗ рдЙрдард╛ рд╕рдХрддрд╛ рд╣реВрдВред
@ рдкреБрдиреАрдд-рдПрди рд╣рд╛рдВ - рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рд╣реА рд╣реЛрдЧрд╛ред рдлрд┐рд▓рд╣рд╛рд▓ рд╕реНрдХреАрдорд╛ рд╕реЗрдЯ рдкрд░ ForceNew: true
, рд▓реЗрдХрд┐рди рдХрд╕реНрдЯрдо рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рд╣реИред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреВрд▓ рдореЗрдВ рдПрдХ рдкрд╣рдЪрд╛рди рдкреНрд░рджрд╛рддрд╛ (Google) рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж рдореИрдВрдиреЗ рдПрдХ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдВрджрд░реНрдн рджрд┐рдпрд╛ (рдКрдкрд░ рджреЗрдЦреЗрдВ)ред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ AWS рдПрдХ рдкреНрд░рджрд╛рддрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж identities
рдирд╛рдордХ рдПрдХ рдХрд╕реНрдЯрдо рд╡рд┐рд╢реЗрд╖рддрд╛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд╕реНрдХреАрдорд╛ рдХрд╛ рд╕реЗрдЯ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдкреВрд░реЗ рдирдП рдкреВрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рдПрдХ рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рддрднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ (рд╕рдВрд╕рд╛рдзрди рдирд┐рд░реНрдорд╛рдг) рдХрд┐ рдЖрдк рдкрд╣рдЪрд╛рди рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреВрд▓ рдХреЛ рдирд╖реНрдЯ рдХрд░рдиреЗ рдФрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА .tf рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рд╛ рд╣реЛред
$ рдмрд┐рд▓реНрд▓реА main.tf
provider "aws" {
}
resource "aws_cognito_user_pool" "pankajk_security" {
name = "pankajk-security"
email_verification_subject = "Your Verification Code"
email_verification_message = "Please use the following code: {####}"
alias_attributes = ["email", "preferred_username"]
auto_verified_attributes = ["email"]
verification_message_template {
default_email_option = "CONFIRM_WITH_CODE"
}
password_policy {
minimum_length = 10
require_lowercase = true
require_numbers = true
require_symbols = true
require_uppercase = true
}
schema {
attribute_data_type = "String"
developer_only_attribute = false
mutable = true
name = "email"
required = true
string_attribute_constraints {
min_length = 7
max_length = 256
}
}
schema {
attribute_data_type = "String"
developer_only_attribute = false
mutable = true
name = "oid"
required = false
number_attribute_constraints {
min_value = 1
max_value = 256
}
}
}
$ рдЯреЗрд░рд╛рдлреЙрд░реНрдо -рд╡реА
Terraform v0.11.7
+ provider.aws v1.14.1
$ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рд▓рд╛рдЧреВ
An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
+ create
Terraform will perform the following actions:
+ aws_cognito_user_pool.pankajk_security
id: <computed>
admin_create_user_config.#: <computed>
alias_attributes.#: "2"
alias_attributes.1888159429: "preferred_username"
alias_attributes.881205744: "email"
arn: <computed>
auto_verified_attributes.#: "1"
auto_verified_attributes.881205744: "email"
creation_date: <computed>
email_verification_message: "Please use the following code: {####}"
email_verification_subject: "Your Verification Code"
lambda_config.#: <computed>
last_modified_date: <computed>
mfa_configuration: "OFF"
name: "pankajk-security"
password_policy.#: "1"
password_policy.0.minimum_length: "10"
password_policy.0.require_lowercase: "true"
password_policy.0.require_numbers: "true"
password_policy.0.require_symbols: "true"
password_policy.0.require_uppercase: "true"
schema.#: "2"
schema.1734507539.attribute_data_type: "String"
schema.1734507539.developer_only_attribute: "false"
schema.1734507539.mutable: "true"
schema.1734507539.name: "email"
schema.1734507539.number_attribute_constraints.#: "0"
schema.1734507539.required: "true"
schema.1734507539.string_attribute_constraints.#: "1"
schema.1734507539.string_attribute_constraints.0.max_length: "256"
schema.1734507539.string_attribute_constraints.0.min_length: "7"
schema.3768180960.attribute_data_type: "String"
schema.3768180960.developer_only_attribute: "false"
schema.3768180960.mutable: "true"
schema.3768180960.name: "oid"
schema.3768180960.number_attribute_constraints.#: "1"
schema.3768180960.number_attribute_constraints.0.max_value: "256"
schema.3768180960.number_attribute_constraints.0.min_value: "1"
schema.3768180960.required: "false"
schema.3768180960.string_attribute_constraints.#: "0"
verification_message_template.#: "1"
verification_message_template.0.default_email_option: "CONFIRM_WITH_CODE"
verification_message_template.0.email_message: <computed>
verification_message_template.0.email_message_by_link: <computed>
verification_message_template.0.email_subject: <computed>
verification_message_template.0.email_subject_by_link: <computed>
verification_message_template.0.sms_message: <computed>
Plan: 1 to add, 0 to change, 0 to destroy.
Do you want to perform these actions?
Terraform will perform the actions described above.
Only 'yes' will be accepted to approve.
Enter a value: yes
aws_cognito_user_pool.pankajk_security: Creating...
admin_create_user_config.#: "" => "<computed>"
alias_attributes.#: "" => "2"
alias_attributes.1888159429: "" => "preferred_username"
alias_attributes.881205744: "" => "email"
arn: "" => "<computed>"
auto_verified_attributes.#: "" => "1"
auto_verified_attributes.881205744: "" => "email"
creation_date: "" => "<computed>"
email_verification_message: "" => "Please use the following code: {####}"
email_verification_subject: "" => "Your Verification Code"
lambda_config.#: "" => "<computed>"
last_modified_date: "" => "<computed>"
mfa_configuration: "" => "OFF"
name: "" => "pankajk-security"
password_policy.#: "" => "1"
password_policy.0.minimum_length: "" => "10"
password_policy.0.require_lowercase: "" => "true"
password_policy.0.require_numbers: "" => "true"
password_policy.0.require_symbols: "" => "true"
password_policy.0.require_uppercase: "" => "true"
schema.#: "" => "2"
schema.1734507539.attribute_data_type: "" => "String"
schema.1734507539.developer_only_attribute: "" => "false"
schema.1734507539.mutable: "" => "true"
schema.1734507539.name: "" => "email"
schema.1734507539.number_attribute_constraints.#: "" => "0"
schema.1734507539.required: "" => "true"
schema.1734507539.string_attribute_constraints.#: "" => "1"
schema.1734507539.string_attribute_constraints.0.max_length: "" => "256"
schema.1734507539.string_attribute_constraints.0.min_length: "" => "7"
schema.3768180960.attribute_data_type: "" => "String"
schema.3768180960.developer_only_attribute: "" => "false"
schema.3768180960.mutable: "" => "true"
schema.3768180960.name: "" => "oid"
schema.3768180960.number_attribute_constraints.#: "" => "1"
schema.3768180960.number_attribute_constraints.0.max_value: "" => "256"
schema.3768180960.number_attribute_constraints.0.min_value: "" => "1"
schema.3768180960.required: "" => "false"
schema.3768180960.string_attribute_constraints.#: "" => "0"
verification_message_template.#: "" => "1"
verification_message_template.0.default_email_option: "" => "CONFIRM_WITH_CODE"
verification_message_template.0.email_message: "" => "<computed>"
verification_message_template.0.email_message_by_link: "" => "<computed>"
verification_message_template.0.email_subject: "" => "<computed>"
verification_message_template.0.email_subject_by_link: "" => "<computed>"
verification_message_template.0.sms_message: "" => "<computed>"
aws_cognito_user_pool.pankajk_security: Creation complete after 3s (ID: us-west-2_t6jMrbPx1)
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
$рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдпреЛрдЬрдирд╛
Refreshing Terraform state in-memory prior to plan...
The refreshed state will be used to calculate this plan, but will not be
persisted to local or remote state storage.
aws_cognito_user_pool.pankajk_security: Refreshing state... (ID: us-west-2_t6jMrbPx1)
------------------------------------------------------------------------
An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
-/+ destroy and then create replacement
Terraform will perform the following actions:
-/+ aws_cognito_user_pool.pankajk_security (new resource required)
id: "us-west-2_t6jMrbPx1" => <computed> (forces new resource)
admin_create_user_config.#: "1" => <computed>
alias_attributes.#: "2" => "2"
alias_attributes.1888159429: "preferred_username" => "preferred_username"
alias_attributes.881205744: "email" => "email"
arn: "arn:aws:cognito-idp:us-west-2:166326852216:userpool/us-west-2_t6jMrbPx1" => <computed>
auto_verified_attributes.#: "1" => "1"
auto_verified_attributes.881205744: "email" => "email"
creation_date: "2018-04-18T18:11:08Z" => <computed>
email_verification_message: "Please use the following code: {####}" => "Please use the following code: {####}"
email_verification_subject: "Your Verification Code" => "Your Verification Code"
lambda_config.#: "0" => <computed>
last_modified_date: "2018-04-18T18:11:08Z" => <computed>
mfa_configuration: "OFF" => "OFF"
name: "pankajk-security" => "pankajk-security"
password_policy.#: "1" => "1"
password_policy.0.minimum_length: "10" => "10"
password_policy.0.require_lowercase: "true" => "true"
password_policy.0.require_numbers: "true" => "true"
password_policy.0.require_symbols: "true" => "true"
password_policy.0.require_uppercase: "true" => "true"
schema.#: "2" => "2"
schema.1734507539.attribute_data_type: "String" => "String"
schema.1734507539.developer_only_attribute: "false" => "false"
schema.1734507539.mutable: "true" => "true"
schema.1734507539.name: "email" => "email"
schema.1734507539.number_attribute_constraints.#: "0" => "0"
schema.1734507539.required: "true" => "true"
schema.1734507539.string_attribute_constraints.#: "1" => "1"
schema.1734507539.string_attribute_constraints.0.max_length: "256" => "256"
schema.1734507539.string_attribute_constraints.0.min_length: "7" => "7"
schema.3768180960.attribute_data_type: "" => "String" (forces new resource)
schema.3768180960.developer_only_attribute: "" => "false" (forces new resource)
schema.3768180960.mutable: "" => "true" (forces new resource)
schema.3768180960.name: "" => "oid" (forces new resource)
schema.3768180960.number_attribute_constraints.#: "" => "1" (forces new resource)
schema.3768180960.number_attribute_constraints.0.max_value: "" => "256" (forces new resource)
schema.3768180960.number_attribute_constraints.0.min_value: "" => "1" (forces new resource)
schema.3768180960.required: "" => "false" (forces new resource)
schema.3768180960.string_attribute_constraints.#: "" => "0"
schema.383977790.attribute_data_type: "String" => "" (forces new resource)
schema.383977790.developer_only_attribute: "false" => "false"
schema.383977790.mutable: "true" => "false" (forces new resource)
schema.383977790.name: "oid" => "" (forces new resource)
schema.383977790.number_attribute_constraints.#: "0" => "0"
schema.383977790.required: "false" => "false"
schema.383977790.string_attribute_constraints.#: "1" => "0" (forces new resource)
schema.383977790.string_attribute_constraints.0.max_length: "" => ""
schema.383977790.string_attribute_constraints.0.min_length: "" => ""
verification_message_template.#: "1" => "1"
verification_message_template.0.default_email_option: "CONFIRM_WITH_CODE" => "CONFIRM_WITH_CODE"
verification_message_template.0.email_message: "Please use the following code: {####}" => <computed>
verification_message_template.0.email_message_by_link: "" => <computed>
verification_message_template.0.email_subject: "Your Verification Code" => <computed>
verification_message_template.0.email_subject_by_link: "" => <computed>
verification_message_template.0.sms_message: "" => <computed>
Plan: 1 to add, 0 to change, 1 to destroy.
------------------------------------------------------------------------
Note: You didn't specify an "-out" parameter to save this plan, so Terraform
can't guarantee that exactly these actions will be performed if
"terraform apply" is subsequently run.
@pankajku рдЖрдк рдЬрд┐рд╕ рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдЕрд▓рдЧ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЖрдИрдПрдордПрдЪрдУ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдРрд╕реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЖрдкрдХреЗ рдХреЙрдиреНрдлрд┐рдЧ рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╣реИред oid
, рдЖрдк attribute_data_type = "String"
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди number_attribute_constraints
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рд╕рдВрд╢реЛрдзрд┐рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдиреАрдЪреЗ рд╣реИ:
variable "region" {
default = "us-east-1"
}
provider "aws" {
version = "1.14.1"
region = "${var.region}"
}
resource "aws_cognito_user_pool" "pankajk_security" {
name = "pankajk-security"
email_verification_subject = "Your Verification Code"
email_verification_message = "Please use the following code: {####}"
alias_attributes = ["email", "preferred_username"]
auto_verified_attributes = ["email"]
verification_message_template {
default_email_option = "CONFIRM_WITH_CODE"
}
password_policy {
minimum_length = 10
require_lowercase = true
require_numbers = true
require_symbols = true
require_uppercase = true
}
schema {
attribute_data_type = "String"
developer_only_attribute = false
mutable = true
name = "email"
required = true
string_attribute_constraints {
min_length = 7
max_length = 256
}
}
schema {
attribute_data_type = "String"
developer_only_attribute = false
mutable = true
name = "oid"
required = false
string_attribute_constraints {
min_length = 1
max_length = 256
}
}
}
@ рдкреБрдиреАрде-рдПрди, рдореЗрд░реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВрдиреЗ рдЖрдкрдХреЗ рд╕реБрдЭрд╛рд╡ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЗрд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдЕрдм рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЗрд╡рд▓ рдмрджрд▓реА рд╣реБрдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИред
рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдЬрдм рдореИрдВ рдХреЙрдиреНрдлрд┐рдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкрд░рд┐рд╡рд░реНрддрди (рдЬреИрд╕реЗ рд╕рддреНрдпрд╛рдкрди рд╕рдВрджреЗрд╢ рдкрд╛рда) рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ "рдЯреЗрд░рд╛рдлреЙрд░реНрдо рд▓рд╛рдЧреВ" рдЪрд▓рд╛рддрд╛ рд╣реВрдВ, рддреЛ рдИрдореЗрд▓ рд╕рддреНрдпрд╛рдкрди рдзреНрд╡рдЬ рдЕрдирд╕реЗрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
$ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рд▓рд╛рдЧреВ
aws_cognito_user_pool.pankajk_security: Refreshing state... (ID: us-west-2_LKVhvfWsH)
An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
~ update in-place
Terraform will perform the following actions:
~ aws_cognito_user_pool.pankajk_security
email_verification_subject: "Your verification code" => "Your Verification Code"
Plan: 0 to add, 1 to change, 0 to destroy.
Do you want to perform these actions?
Terraform will perform the actions described above.
Only 'yes' will be accepted to approve.
Enter a value: yes
aws_cognito_user_pool.pankajk_security: Modifying... (ID: us-west-2_LKVhvfWsH)
email_verification_subject: "Your verification code" => "Your Verification Code"
aws_cognito_user_pool.pankajk_security: Modifications complete after 1s (ID: us-west-2_LKVhvfWsH)
Apply complete! Resources: 0 added, 1 changed, 0 destroyed.
$ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдпреЛрдЬрдирд╛
Refreshing Terraform state in-memory prior to plan...
The refreshed state will be used to calculate this plan, but will not be
persisted to local or remote state storage.
aws_cognito_user_pool.pankajk_security: Refreshing state... (ID: us-west-2_LKVhvfWsH)
------------------------------------------------------------------------
An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
~ update in-place
Terraform will perform the following actions:
~ aws_cognito_user_pool.pankajk_security
auto_verified_attributes.#: "0" => "1"
auto_verified_attributes.881205744: "" => "email"
Plan: 0 to add, 1 to change, 0 to destroy.
------------------------------------------------------------------------
Note: You didn't specify an "-out" parameter to save this plan, so Terraform
can't guarantee that exactly these actions will be performed if
"terraform apply" is subsequently run.
рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдпрд╣ рдХреЙрдиреНрдлрд╝рд┐рдЧ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдмрдЧ рдореЗрдВ рдХрд┐рд╕реА рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рд░рдг рднреА рд╣реИред
рдпрд╣ рдЕрднреА рднреА рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдПрдХ рджрд┐рди рдХрд┐рд╕реА рдХреЛ рдмрд╣реБрдд рджрд┐рд▓ рдХрд╛ рджрд░реНрдж рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ рдЬрдм tf рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреВрд▓ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ рдФрд░ рд╡реЗ рдЕрдкрдиреЗ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЦреЛ рджреЗрддреЗ рд╣реИрдВ ...
рдЗрд╕реЗ рд╕реНрдХреАрдорд╛ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреВрд▓ рдирд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдХрдВрд╕реЛрд▓/рдХреНрд▓реА рдореЗрдВ рдирд╖реНрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗред
{
name = "foo"
attribute_data_type = "String"
mutable = true
developer_only_attribute = "false"
required = "false"
string_attribute_constraints = {
min_length = 0
max_length = 256
}
},
рд╣рд╛рдБред рдореЗрд░реЗ рдкрд╛рд╕ prevent_destroy
pool
рдФрд░ client
рджреЛрдиреЛрдВ рдкрд░ рд╕реЗрдЯ рд╣реИ
рдЬрдм рднреА рдореИрдВ рдирдИ рдХрд╕реНрдЯрдо рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ рддрдм рднреА рд╕рдВрд╕рд╛рдзрди рдкреБрди: рдирд┐рд░реНрдорд╛рдг рд╕рдорд╕реНрдпрд╛ рдХреЛ рдорд╛рд░ рд░рд╣рд╛ рд╣реИред
рдЯреЗрд░рд╛рдлреЙрд░реНрдо рд╕рдВрд╕реНрдХрд░рдг
рдЯреЗрд░рд╛рдлреЙрд░реНрдо v0.11.8
рдкреНрд░рджрд╛рддрд╛.aws v1.36.0
рдирдИ рдХрд╕реНрдЯрдо рд╡рд┐рд╢реЗрд╖рддрд╛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ
resource "aws_cognito_user_pool" "pool" {
name = "Test"
username_attributes = ["email"]
auto_verified_attributes = ["email"]
schema = [
{
attribute_data_type = "String"
developer_only_attribute = false
mutable = false
name = "email"
required = true
string_attribute_constraints = {
min_length = 1
max_length = 256
}
},
{
attribute_data_type = "String"
developer_only_attribute = false
mutable = true
name = "custom1"
required = false
string_attribute_constraints = {
min_length = 0
max_length = 256
}
}
]
}
рдирдИ рдХрд╕реНрдЯрдо рд╡рд┐рд╢реЗрд╖рддрд╛ рдЬреЛрдбрд╝реЗрдВ
{
attribute_data_type = "String"
developer_only_attribute = false
mutable = true
name = "custom2"
required = false
string_attribute_constraints = {
min_length = 0
max_length = 256
}
}
рдбреАрдмрдЧ рдЖрдЙрдЯрдкреБрдЯ
An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
-/+ destroy and then create replacement
Terraform will perform the following actions:
-/+ aws_cognito_user_pool.pool (new resource required)
...
lambda_config.#: "0" => <computed>
last_modified_date: "2018-09-19T03:33:52Z" => <computed>
mfa_configuration: "OFF" => "OFF"
name: "Test" => "Test"
password_policy.#: "1" => <computed>
schema.#: "2" => "3" (forces new resource)
schema.2766842814.attribute_data_type: "" => "String" (forces new resource)
schema.2766842814.developer_only_attribute: "" => "false" (forces new resource)
schema.2766842814.mutable: "" => "true" (forces new resource)
schema.2766842814.name: "" => "custom2" (forces new resource)
schema.2766842814.number_attribute_constraints.#: "" => "0"
schema.2766842814.required: "" => "false" (forces new resource)
schema.2766842814.string_attribute_constraints.#: "" => "1" (forces new resource)
schema.2766842814.string_attribute_constraints.0.max_length: "" => "256" (forces new resource)
schema.2766842814.string_attribute_constraints.0.min_length: "" => "0" (forces new resource)
schema.3686385984.attribute_data_type: "String" => "String"
schema.3686385984.developer_only_attribute: "false" => "false"
schema.3686385984.mutable: "false" => "false"
schema.3686385984.name: "email" => "email"
schema.3686385984.number_attribute_constraints.#: "0" => "0"
schema.3686385984.required: "true" => "true"
schema.3686385984.string_attribute_constraints.#: "1" => "1"
schema.3686385984.string_attribute_constraints.0.max_length: "256" => "256"
schema.3686385984.string_attribute_constraints.0.min_length: "1" => "1"
schema.893709367.attribute_data_type: "String" => "String"
schema.893709367.developer_only_attribute: "false" => "false"
schema.893709367.mutable: "true" => "true"
schema.893709367.name: "custom1" => "custom1"
schema.893709367.number_attribute_constraints.#: "0" => "0"
schema.893709367.required: "false" => "false"
schema.893709367.string_attribute_constraints.#: "1" => "1"
schema.893709367.string_attribute_constraints.0.max_length: "256" => "256"
schema.893709367.string_attribute_constraints.0.min_length: "0" => "0"
username_attributes.#: "1" => "1"
username_attributes.0: "email" => "email"
verification_message_template.#: "1" => <computed>
Plan: 1 to add, 0 to change, 1 to destroy.
рдПрдлрд╡рд╛рдИрдЖрдИ: рдореИрдВрдиреЗ string_attribute_constraints
рдмрд┐рдирд╛ рдХрд╕реНрдЯрдо рд╡рд┐рд╢реЗрд╖рддрд╛ рдмрдирд╛рдИ, рдлрд┐рд░ рдореБрдЭреЗ рдЙрд╕реА рдмрдЧ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред
schema {
name = "custom_id"
required = false
attribute_data_type = "String"
developer_only_attribute = false
mutable = true
}
рдЬрдм рдореИрдВрдиреЗ рдЦрд╛рд▓реА рдЬреЛрдбрд╝рд╛ string_attribute_constraints
, рддреЛ рдореИрдВ рдЗрд╕ рдмрдЧ рд╕реЗ рдмрдЪ рд╕рдХрддрд╛ рдерд╛!
schema {
name = "custom_id"
required = false
attribute_data_type = "String"
developer_only_attribute = false
mutable = true
string_attribute_constraints {}
}
рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рднреА рдХреЗ рдХрд╛рдордХрд╛рдЬ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ!
рд╕рдорд╛рдзрд╛рди рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
schema {
attribute_data_type = "String"
developer_only_attribute = false
mutable = true
name = "parent_id"
required = false
string_attribute_constraints {
min_length = 1
max_length = 256
}
}
рдпреЛрдЬрдирд╛:
schema.#: "10" => "11" (forces new resource)
schema.2272806367.attribute_data_type: "" => "String" (forces new resource)
schema.2272806367.developer_only_attribute: "" => "false" (forces new resource)
schema.2272806367.mutable: "" => "false" (forces new resource)
schema.2272806367.name: "" => "parent_id" (forces new resource)
schema.2272806367.number_attribute_constraints.#: "" => "0"
schema.2272806367.required: "" => "false" (forces new resource)
schema.2272806367.string_attribute_constraints.#: "" => "1" (forces new resource)
schema.2272806367.string_attribute_constraints.0.max_length: "" => "256" (forces new resource)
schema.2272806367.string_attribute_constraints.0.min_length: "" => "1" (forces new resource)
рд╕рдВрд╕реНрдХрд░рдг:
Terraform v0.11.11
+ provider.archive v1.1.0
+ provider.aws v1.52.0
рдпрд╣ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬреЛ рдирдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЬрд┐рдиреНрд╣реЗрдВ рдХрд╕реНрдЯрдо рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдиреЗ/рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ рд╣рдордиреЗ рдЕрдкрдиреЗ рдкреВрд▓ рдХреЛ 10+ рдмрд╛рд░ рдирд╖реНрдЯ рдХрд░ рджрд┐рдпрд╛ рдерд╛ред
рдЗрд╕ рдкрд░ рдХреЛрдИ рдкреНрд░рдЧрддрд┐? рдЖрдк рд▓реЛрдЧ рд╣рдореЗрдВ рдПрдХ рдРрд╕реЗ рд╕рдВрд╕рд╛рдзрди рдХреЛ рдЙрдбрд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдЕрдкрдирд╛ рдкрд╛рд╕рд╡рд░реНрдб рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ (рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреИрдХрдЕрдк рдбреЗрдЯрд╛ рднреА рд╣реИ), рдпрд╛ рдореЗрд░реЗ рд▓рд┐рдП, рдореИрдВ рдПрдХ рдЬреАрд╡рдирдЪрдХреНрд░ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХрд░рддрд╛ рд╣реВрдВ Iign_changes * рдФрд░ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдЕрдВрдд рдореЗрдВ рдорд┐рд▓ рдЬрд╛рдПрдЧрд╛ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдореБрдЭреЗ рдПрдХ рдФрд░ рдмрджрд▓рд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ, рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ 9 рдорд╣реАрдиреЗ рд╕реЗ рд╡рд╣рд╛рдБ рдмреИрдард╛ рд╣реИ, рдореБрдЭреЗ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдореБрдЭреЗ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕рдорд╛рдзрд╛рди рдореЗрд░реЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рдХреЛрдИ рдмрджрд▓рд╛рд╡ рди рд╣реЛрдиреЗ рдкрд░ рднреА рдпрд╣ рд╣рдореЗрд╢рд╛ рдкреВрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рддрд╛ рд╣реИред
> terraform --version
Terraform v0.11.11
+ provider.archive v1.1.0
+ provider.aws v1.54.0
рдЕрднреА рднреА рдПрдХ рдореБрджреНрджрд╛
Terraform v0.11.11
+ provider.aws v1.57.0
рдФрд░ рдЕрднреА рднреА...
Terraform v0.11.11
+ provider.aws v1.59.0
рдореИрдВ рднреА рдЗрд╕рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реВрдВ, рдХрд┐рд╕реА рднреА рдЙрдкрд╛рдп рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред
Terraform v0.11.11
+ provider.aws v1.60.0
рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ 9 рдорд╣реАрдиреЗ рд╕реЗ рд╡рд╣рд╛рдБ рдмреИрдард╛ рд╣реИ, рдореБрдЭреЗ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдореБрдЭреЗ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореИрдВ рдЦреБрдж рд╕реЗ рд╡рд╣реА рд╕рд╡рд╛рд▓ рдкреВрдЫ рд░рд╣рд╛ рд╣реВрдВред рдРрд╕реЗ рдмрд╣реБрдд рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХреАрдбрд╝реЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдПрдХ рд╡рд░реНрд╖ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рддрдХ рдирд╣реАрдВ рд╕рдВрднрд╛рд▓рд╛ рдЧрдпрд╛, рдХреБрдЫ - рджреЛ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рддрдХред рдЗрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕реЗ рдмрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдкреАрдЖрд░ рд╣реИрдВ рдЬреЛ рдПрдХ рд╡рд░реНрд╖ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рддрдХ рдмрд┐рдирд╛ рд▓рдЯрдХреЗ рд▓рдЯрдХреЗ рд░рд╣рддреЗ рд╣реИрдВред
рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдореИрдВрдиреЗ рдПрдХ рдЧрдВрднреАрд░ рд▓реЗрдХрд┐рди jsonencode рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рднрд░ рджреА рд╣реИ - рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕реЗ рдлрд╝рд┐рдЬрд╝ рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ред рдЙрддреНрддрд░ рдерд╛ - рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг 12 рдореЗрдВ рддрдп рд╣реИ, рдЬреЛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХрд┐рд╕реА рдЕрдЬреНрдЮрд╛рдд рд╕рдордп рдкрд░ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд╣рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг 11 рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИред
BTW рдЗрд╕ рд╡рд┐рд╖рдп рдХрд╛ рдореБрджреНрджрд╛ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдХрд┐ рдХреЙрдЧреНрдирд┐рдЯреЛ рдпреВрдЬрд░ рдкреВрд▓ рдХреЗ рдкрд╛рд╕ рд╣реИред Callback_urls рдХреЛ рдареАрдХ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдСрд░реНрдбрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреИрд╕реЗ AWS рдРрд╕рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рд▓рдЧрд╛рддрд╛рд░ рдСрд░реНрдбрд░ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИред
@voroniys рдореЗрд░рд╛ 3+ рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рджреВрд░ рд╣реИ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░рд╛рдЬреНрдпреЛрдВ рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдХрд┐рд╕реА рднреА IaC рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╣реИред рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЙрдкрдХрд░рдг рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдИрд╢реНрд╡рд░ рдХреА рдкрд╣реБрдВрдЪ рд╣реИред рд░рд╛рдЬреНрдп рд╡рд╛рд▓реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЕрднреА рднреА рдПрдХ рдореБрджреНрджрд╛ рд╣реИред
рдореИрдВ рдЗрд╕рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЗрд╕реЗ "рдареАрдХ" рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдвреВрдВрдв рд░рд╣рд╛ рд╣реВрдВред
рдХрд╕реНрдЯрдо рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХрд╛ рдПрдХ рдмреЗрд╣рддрд░ рддрд░реАрдХрд╛ рдХрд╕реНрдЯрдо рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдПрдХ рдЕрд▓рдЧ рд╕рдВрд╕рд╛рдзрди рдмрдирд╛рдирд╛ рд╣реИ, рдЬреИрд╕реЗ aws_cognito_user_pool_schema_custom_attribute
ред
рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдореЗрдВ рдПрдХ рд╕рдВрд╕рд╛рдзрди рдХреЛ рдПрдХ рд╕реНрдХреАрдорд╛ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рд╛рде рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓рдмреИрдХ рдмрдирд╛рдПрдВ, рдкрдврд╝реЗрдВ, рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ рдФрд░ рд╣рдЯрд╛рдПрдВред рдХреЛрд░ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдФрд░ рдЖрдкрдХреЗ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЛрдб рдореЗрдВ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЕрдВрддрд░ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИред рд╣рдо рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХреЗ TF рдкрд░ рд╕рд╣реА рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдпрджрд┐ рдЖрдк рдПрдХ рдЕрд▓рдЧ рд╕рдВрд╕рд╛рдзрди рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдХреАрдорд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдЕрд▓рдЧ рдХрд░ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдЕрдВрддрд░ рдЧрдгрдирд╛ рдкрд░ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдЕрдзрд┐рдХ рдмрд╛рд░реАрдХ рдирд┐рдпрдВрддреНрд░рдг рд╣реЛрддрд╛ рд╣реИ: рдПрдХ рдирдпрд╛ рдХрд╕реНрдЯрдо рд╕реНрдХреАрдорд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╕рдВрд╕рд╛рдзрди рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдЕрд▓рдЧ рд╕рдВрд╕рд╛рдзрди рдХреЗ рдХреНрд░рд┐рдПрдЯ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЖрд╣реНрд╡рд╛рди рдХрд░рддрд╛ рд╣реИ, рдмрдЬрд╛рдп рдЗрд╕рдХреЗ рдирд╖реНрдЯ / рдЕрдиреБрдХреНрд░рдо рдмрдирд╛рдПрдВ рдкреВрд▓ред рд╕реНрдХреАрдорд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╕рдВрд╕рд╛рдзрди рдХреЗ рдмрдирд╛рдПрдБ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ, рд╣рдо AWS Cognito AddCustomAttributes
API рдХреЙрд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕реНрдХреАрдорд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рдЧреБрдгреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдЕрдзрд┐рдХ рдмрд╛рд░реАрдХ рднреА рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред
рдЬрдм рдЖрдк (рдЧрд▓рддреА рд╕реЗ) рдЕрдкрдиреЗ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЛрдб рд╕реЗ рдЕрдкрдиреЗ рдХрд╕реНрдЯрдо рд╕реНрдХреАрдорд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╕рдВрд╕рд╛рдзрди рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВ, рддреЛ TF рд╡рд┐рд╢реЗрд╖рддрд╛ рд╕рдВрд╕рд╛рдзрди рдХреЗ рд╣рдЯрд╛рдПрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдЧрд╛ред рд╣рдо рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдЯрд╛рдирд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ рдФрд░ рдЖрдкрдХреЗ TF рдХреЛрдб рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ?
@bflad , рдХреНрдпрд╛ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдиреЗ рдореЗрдВ рдХреМрди рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ?
рдЖрдкрдХреЗ рдХрд╛рдо рдФрд░ рд╕реБрдЭрд╛рд╡ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж @ringods ред рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХрд╛ рдпрд╣ рд╕рд╣реА рд░рд╛рд╕реНрддрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ!
рдЖрдЬ рднреА рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдорд╛рдиреНрдп рдХрд░рдирд╛:
Terraform v0.12.3
+ provider.aws v2.18.0
рддреНрд╡рд░рд┐рдд рдкреБрдирд░реНрдХрдерди:
resource "aws_cognito_user_pool" "pool" {
name = "mypooltest2"
}
рдлрд┐рд░ рдЬреЛ рднреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдЬреЛрдбрд╝реЗрдВ:
resource "aws_cognito_user_pool" "pool" {
name = "mypooltest2"
schema {
attribute_data_type = "String"
name = "email"
required = true
}
}
рдХреЗрд╡рд▓ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЬреИрд╕реЗ рдЗрд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдирд╖реНрдЯ рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рд╕рдВрд╕рд╛рдзрди рдЬреЛрдбрд╝реЗрдВ:
Plan: 1 to add, 0 to change, 1 to destroy.
рд╣рдо рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрдВрд╕ рдЧрдП рд╣реИрдВ, рд╣рдореЗрдВ рдПрдХ рдирдИ рдХрд╕реНрдЯрдо рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЕрдЧрд░ рд╣рдо рдЗрд╕реЗ рдХреНрд▓реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдкреВрд░реЗ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдЧрдбрд╝рдмрдбрд╝ рдХрд░ рджреЗрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рдХрдИ рдЕрдиреНрдп рд╕рдВрд╕рд╛рдзрди рднреА рд╣реИрдВред
рдореМрдЬреВрджрд╛ tf рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдмрд╛рдзрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ @ringods рдХрд╛ рд╕реБрдЭрд╛рд╡ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЙрд╕ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИред
рдпрд╣рд╛рдБ рдореЗрд░реЗ рдХреЛрдб рдХрд╛ рдкрд╣рд▓рд╛ рдорд╕реМрджрд╛ рд╣реИред рдореИрдВ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдирд┐рд░реНрдорд┐рдд рдЯреЗрд░рд╛рдлреЙрд░реНрдо-рдкреНрд░рджрд╛рддрд╛-рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреЗ рд╣реБрдП рдЗрд╕рдХрд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рдореИрдВ рдЕрдм рд╕реНрд╡реАрдХреГрддрд┐ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдБред рдЬрдирд╕рдВрдкрд░реНрдХ рдкрд░ рд╕реБрдЭрд╛рд╡/рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ!
рд╣рдордиреЗ рдЕрдкрдирд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреВрд▓ рдЦреЛрдП рдмрд┐рдирд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдХреЙрдЧреНрдирд┐рдЯреЛ рдореЗрдВ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдЬреЛрдбрд╝реАрдВ:
aws cognito-idp --region ... add-custom-attributes --user-pool-id ... --custom-attributes Name=...,AttributeDataType=Boolean,DeveloperOnlyAttribute=false, Mutable=true,Required=false
terraform state rm aws_cognito_user_pool.main
terraform import aws_cognito_user_pool.main ...
рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдорд╛рд░реЗ рд╕рдВрд╕рд╛рдзрди, рд░рд╛рдЬреНрдп рдФрд░ main.tf рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЕрдм рдорд┐рд▓рд╛рди рд╣реЛ рдЧрдпрд╛ рд╣реИред рдореИрдВ рдкрд╣рд▓реЗ рдПрдХ рджреЗрд╡ рдПрдирд╡реА рдкрд░ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ, рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИред
рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдареАрдХ рдХрд░реЗрдВ! рд░рд╛рдЬреНрдп рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдИрдкреЛрд░реЛрдорд╛ рдХрд╛ рдХрд╛рдо рдХрд░рдирд╛ рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рд╣реИред
рдХреНрдпрд╛ рдЗрд╕ рдкрд░ рдЕрднреА рднреА рдХреЛрдИ рдкреНрд░рдЧрддрд┐ рд╣реБрдИ рд╣реИ? рд╣рдо рдРрд╕реЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдмреЗрд╕рдмреНрд░реА рд╕реЗ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рд╕реНрдерд┐рддрд┐ рдкрд░ рдореИрдиреНрдпреБрдЕрд▓ рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред :-)
рдкрд┐рдВрдЧ рднреАред рд░рд╛рдЬреНрдп рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рд╣реИ... рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж
рджреЛрд╕реНрддреЛрдВ рдХреЛрдИ рдЕрдкрдбреЗрдЯ? рдЕрдм рд╣рдо 2020 рдореЗрдВ рд╣реИрдВ...
рд╣рд╛рдБ, рдЕрднреА рднреА рдПрдХ рдореБрджреНрджрд╛ рд╣реИ...
рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдЙрдкрд░реЛрдХреНрдд рд╕рдорд╛рдзрд╛рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдФрд░ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рд░рд╛рдЬреНрдп рдФрд░ рдЖрдпрд╛рдд рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдиреЗ рд╕реЗ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдХрдо рдЧрдбрд╝рдмрдбрд╝ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред
ePoromaa рдХреЗ рд╕рдорд╛рди, рдЖрдкрдХреЛ cognito рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреВрд▓ рдореЗрдВ рдПрдХ рдХрд╕реНрдЯрдо рд╡рд┐рд╢реЗрд╖рддрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ aws cli cmd рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
aws cognito-idp add-custom-attributes --user-pool-id us-west-2_aaaaaaaaa --custom-attributes Name="CustomAttr1",AttributeDataType="String",DeveloperOnlyAttribute=false,Required=false,StringAttributeConstraints="{MinLength=1,MaxLength=15}"
рдЙрдкрд▓рдмреНрдз рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ: https://docs.aws.amazon.com/cli/latest/reference/cognito-idp/add-custom-attributes.html
рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк aws cli рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╕реНрдЯрдо рд╡рд┐рд╢реЗрд╖рддрд╛ рдЬреЛрдбрд╝ рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдЕрдм рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдЯреЗрд░рд╛рдлрд╝реЙрд░реНрдо рдХреЙрдЧреНрдирд┐рдЯреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреВрд▓ рдХреЛрдб рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕реНрдХреАрдорд╛ рдмреНрд▓реЙрдХ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП
schema {
name = "CustomAttr1"
attribute_data_type = "String"
required = false
developer_only_attribute = false
string_attribute_constraints {
min_length = 1
max_length = 15
}
}
рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдореЗрдВ рд╕реНрдХреАрдорд╛ рдмреНрд▓реЙрдХ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдореЗрдВ рдХреЛрдИ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЙрддреНрдкрд╛рдж рдореЗрдВ рднреА рдРрд╕рд╛ рдХрд░рдирд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рдорд╛рдиреЗрдВрдЧреЗред
рдЯреЗрд░рд╛рдлреЙрд░реНрдо v0.12.26
рдЕрднреА рднреА рдореБрджреНрджрд╛ рд╣реИ ...
рд╣рд╛рдп рд╕рдм рд▓реЛрдЧ, рдпрд╣рд╛рдБ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ?
рдХреГрдкрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдареАрдХ рдХрд░реЗрдВ!
рдпрд╣ рдЕрднреА рднреА рдПрдХ рдореБрджреНрджрд╛ рд╣реИ
Terraform v0.12.28
+ provider.aws v2.67.0
рдХреГрдкрдпрд╛ рдкрддрд╛ рдХрд░реЗрдВред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреВрд▓ рдХреЗ рд╡рд┐рдирд╛рд╢ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдзрд╛рди:
1) рдХрдВрд╕реЛрд▓ рдпрд╛ рдХреНрд▓реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╕реНрдЯрдо рд╡рд┐рд╢реЗрд╖рддрд╛ рдЬреЛрдбрд╝реЗрдВред
2) рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЕрднреА рдмрдирд╛рдИ рдЧрдИ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд▓рд┐рдП рд╣рд░ рддрд░рд╣ рд╕реЗ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рд╕реНрдХреАрдорд╛ рдмреНрд▓реЙрдХ рдЬреЛрдбрд╝реЗрдВред
3) рдЯреЗрд░рд╛рдлреЙрд░реНрдо рд░реАрдлреНрд░реЗрд╢ рдЪрд▓рд╛рдПрдВред рдЗрд╕реЗ рд╕реНрдХреАрдорд╛ рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╛рдЬреНрдп рдлрд╝рд╛рдЗрд▓ рдХреЛ рд░реАрдлреНрд░реЗрд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
4) рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдпреЛрдЬрдирд╛ рдЪрд▓рд╛рдПрдБ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреВрд▓ рдЕрдм рдирд╖реНрдЯ рди рд╣реЛред
рдирдорд╕реНрддреЗ, рд╣рдо рднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдХреЛрдИ рд╕реБрдзрд╛рд░? рдзрдиреНрдпрд╡рд╛рдж!
рд╣рд╛рд╢реАрдХреЙрд░реНрдк рд╕реЗ рдХреЛрдИ рдмрд╛рд╣рд░ рд╣реИ? рд╣реИрд▓реЛ ....
рдЗрд╕рдХрд╛ рднреА рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ:
рдЯреЗрд░рд╛рдлреЙрд░реНрдо v0.12.29
рдЯреЗрд░рд╛рдлреЙрд░реНрдо v0.13.3
рдЕрднреА рднреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ
рдирдорд╕реНрддреЗ! :wave: рдмрд╕ рдЖрдкрдХреЛ рдЗрд╕ рддрд┐рдорд╛рд╣реА (рдирд╡рдВрдмрд░-рдЬрдирд╡рд░реА) рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реЛрдбрдореИрдк рдкрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдЬрд┐рд╕рдореЗрдВ рдЗрд╕ рдордж рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рд╣рд┐рдд рдХреЗ рдХрд╛рд░рдг, рд╣рдо рдЬрд▓реНрдж рд╣реА рдореМрдЬреВрджрд╛ рдпреЛрдЧрджрд╛рдиреЛрдВ рдХреЛ рд╡рд┐рд▓рдп рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред
рд╣рдо рдЕрдм рддрдХ рдХреЗ рд╕рднреА рдпреЛрдЧрджрд╛рдиреЛрдВ рдФрд░ рдлреАрдбрдмреИрдХ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддреЗ рд╣реИрдВред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдЗрд╕ рдкрд░ рдХреЛрдИ рдкреНрд░рдЧрддрд┐? рдЖрдк рд▓реЛрдЧ рд╣рдореЗрдВ рдПрдХ рдРрд╕реЗ рд╕рдВрд╕рд╛рдзрди рдХреЛ рдЙрдбрд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдЕрдкрдирд╛ рдкрд╛рд╕рд╡рд░реНрдб рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ (рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреИрдХрдЕрдк рдбреЗрдЯрд╛ рднреА рд╣реИ), рдпрд╛ рдореЗрд░реЗ рд▓рд┐рдП, рдореИрдВ рдПрдХ рдЬреАрд╡рдирдЪрдХреНрд░ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХрд░рддрд╛ рд╣реВрдВ Iign_changes * рдФрд░ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдЕрдВрдд рдореЗрдВ рдорд┐рд▓ рдЬрд╛рдПрдЧрд╛ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдореБрдЭреЗ рдПрдХ рдФрд░ рдмрджрд▓рд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ, рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ 9 рдорд╣реАрдиреЗ рд╕реЗ рд╡рд╣рд╛рдБ рдмреИрдард╛ рд╣реИ, рдореБрдЭреЗ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдореБрдЭреЗ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред