{"action":"created","comment":{"url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/pulls/comments/151376039","pull_request_review_id":77071437,"id":151376039,"diff_hunk":"@@ -0,0 +1,902 @@\n+package aws\n+\n+import (\n+\t\"errors\"\n+\t\"log\"\n+\t\"time\"\n+\n+\t\"github.com/aws/aws-sdk-go/aws\"\n+\t\"github.com/aws/aws-sdk-go/aws/awserr\"\n+\t\"github.com/aws/aws-sdk-go/service/cognitoidentityprovider\"\n+\t\"github.com/hashicorp/errwrap\"\n+\t\"github.com/hashicorp/terraform/helper/resource\"\n+\t\"github.com/hashicorp/terraform/helper/schema\"\n+\t\"github.com/hashicorp/terraform/helper/validation\"\n+)\n+\n+func resourceAwsCognitoUserPool() *schema.Resource {\n+\treturn &schema.Resource{\n+\t\tCreate: resourceAwsCognitoUserPoolCreate,\n+\t\tRead:   resourceAwsCognitoUserPoolRead,\n+\t\tUpdate: resourceAwsCognitoUserPoolUpdate,\n+\t\tDelete: resourceAwsCognitoUserPoolDelete,\n+\n+\t\tImporter: &schema.ResourceImporter{\n+\t\t\tState: schema.ImportStatePassthrough,\n+\t\t},\n+\n+\t\t// https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html\n+\t\tSchema: map[string]*schema.Schema{\n+\t\t\t\"admin_create_user_config\": {\n+\t\t\t\tType:     schema.TypeList,\n+\t\t\t\tOptional: true,\n+\t\t\t\tComputed: true,\n+\t\t\t\tMinItems: 0,\n+\t\t\t\tMaxItems: 1,\n+\t\t\t\tElem: &schema.Resource{\n+\t\t\t\t\tSchema: map[string]*schema.Schema{\n+\t\t\t\t\t\t\"allow_admin_create_user_only\": {\n+\t\t\t\t\t\t\tType:     schema.TypeBool,\n+\t\t\t\t\t\t\tOptional: true,\n+\t\t\t\t\t\t},\n+\t\t\t\t\t\t\"invite_message_template\": {\n+\t\t\t\t\t\t\tType:     schema.TypeList,\n+\t\t\t\t\t\t\tOptional: true,\n+\t\t\t\t\t\t\tMinItems: 0,\n+\t\t\t\t\t\t\tMaxItems: 1,\n+\t\t\t\t\t\t\tElem: &schema.Resource{\n+\t\t\t\t\t\t\t\tSchema: map[string]*schema.Schema{\n+\t\t\t\t\t\t\t\t\t\"email_message\": {\n+\t\t\t\t\t\t\t\t\t\tType:         schema.TypeString,\n+\t\t\t\t\t\t\t\t\t\tOptional:     true,\n+\t\t\t\t\t\t\t\t\t\tValidateFunc: validateCognitoUserPoolInviteTemplateEmailMessage,\n+\t\t\t\t\t\t\t\t\t},\n+\t\t\t\t\t\t\t\t\t\"email_subject\": {\n+\t\t\t\t\t\t\t\t\t\tType:         schema.TypeString,\n+\t\t\t\t\t\t\t\t\t\tOptional:     true,\n+\t\t\t\t\t\t\t\t\t\tValidateFunc: validateCognitoUserPoolTemplateEmailSubject,\n+\t\t\t\t\t\t\t\t\t},\n+\t\t\t\t\t\t\t\t\t\"sms_message\": {\n+\t\t\t\t\t\t\t\t\t\tType:         schema.TypeString,\n+\t\t\t\t\t\t\t\t\t\tOptional:     true,\n+\t\t\t\t\t\t\t\t\t\tValidateFunc: validateCognitoUserPoolInviteTemplateSmsMessage,\n+\t\t\t\t\t\t\t\t\t},\n+\t\t\t\t\t\t\t\t},\n+\t\t\t\t\t\t\t},\n+\t\t\t\t\t\t},\n+\t\t\t\t\t\t\"unused_account_validity_days\": {\n+\t\t\t\t\t\t\tType:         schema.TypeInt,\n+\t\t\t\t\t\t\tOptional:     true,\n+\t\t\t\t\t\t\tDefault:      7,\n+\t\t\t\t\t\t\tValidateFunc: validateIntegerInRange(0, 90),\n+\t\t\t\t\t\t},\n+\t\t\t\t\t},\n+\t\t\t\t},\n+\t\t\t},\n+\n+\t\t\t\"alias_attributes\": {\n+\t\t\t\tType:     schema.TypeList,\n+\t\t\t\tOptional: true,\n+\t\t\t\tForceNew: true,\n+\t\t\t\tElem: &schema.Schema{\n+\t\t\t\t\tType:         schema.TypeString,\n+\t\t\t\t\tValidateFunc: validateCognitoUserPoolAliasAttribute,\n+\t\t\t\t},\n+\t\t\t\tConflictsWith: []string{\"username_attributes\"},\n+\t\t\t},\n+\n+\t\t\t\"auto_verified_attributes\": {\n+\t\t\t\tType:     schema.TypeList,\n+\t\t\t\tOptional: true,\n+\t\t\t\tElem: &schema.Schema{\n+\t\t\t\t\tType:         schema.TypeString,\n+\t\t\t\t\tValidateFunc: validateCognitoUserPoolAutoVerifiedAttribute,\n+\t\t\t\t},\n+\t\t\t},\n+\n+\t\t\t\"creation_date\": {\n+\t\t\t\tType:     schema.TypeString,\n+\t\t\t\tComputed: true,\n+\t\t\t},\n+\n+\t\t\t\"device_configuration\": {\n+\t\t\t\tType:     schema.TypeList,\n+\t\t\t\tOptional: true,\n+\t\t\t\tMinItems: 0,\n+\t\t\t\tMaxItems: 1,\n+\t\t\t\tElem: &schema.Resource{\n+\t\t\t\t\tSchema: map[string]*schema.Schema{\n+\t\t\t\t\t\t\"challenge_required_on_new_device\": {\n+\t\t\t\t\t\t\tType:     schema.TypeBool,\n+\t\t\t\t\t\t\tOptional: true,\n+\t\t\t\t\t\t},\n+\t\t\t\t\t\t\"device_only_remembered_on_user_prompt\": {\n+\t\t\t\t\t\t\tType:     schema.TypeBool,\n+\t\t\t\t\t\t\tOptional: true,\n+\t\t\t\t\t\t},\n+\t\t\t\t\t},\n+\t\t\t\t},\n+\t\t\t},\n+\n+\t\t\t\"email_configuration\": {\n+\t\t\t\tType:     schema.TypeList,\n+\t\t\t\tOptional: true,\n+\t\t\t\tMinItems: 0,\n+\t\t\t\tMaxItems: 1,\n+\t\t\t\tElem: &schema.Resource{\n+\t\t\t\t\tSchema: map[string]*schema.Schema{\n+\t\t\t\t\t\t\"reply_to_email_address\": {\n+\t\t\t\t\t\t\tType:         schema.TypeString,\n+\t\t\t\t\t\t\tOptional:     true,\n+\t\t\t\t\t\t\tValidateFunc: validateCognitoUserPoolReplyEmailAddress,\n+\t\t\t\t\t\t},\n+\t\t\t\t\t\t\"source_arn\": {\n+\t\t\t\t\t\t\tType:         schema.TypeString,\n+\t\t\t\t\t\t\tOptional:     true,\n+\t\t\t\t\t\t\tValidateFunc: validateArn,\n+\t\t\t\t\t\t},\n+\t\t\t\t\t},\n+\t\t\t\t},\n+\t\t\t},\n+\n+\t\t\t\"email_verification_subject\": {\n+\t\t\t\tType:         schema.TypeString,\n+\t\t\t\tOptional:     true,\n+\t\t\t\tComputed:     true,\n+\t\t\t\tValidateFunc: validateCognitoUserPoolEmailVerificationSubject,\n+\t\t\t},\n+\n+\t\t\t\"email_verification_message\": {\n+\t\t\t\tType:         schema.TypeString,\n+\t\t\t\tOptional:     true,\n+\t\t\t\tComputed:     true,\n+\t\t\t\tValidateFunc: validateCognitoUserPoolEmailVerificationMessage,\n+\t\t\t},\n+\n+\t\t\t\"lambda_config\": {\n+\t\t\t\tType:     schema.TypeList,\n+\t\t\t\tOptional: true,\n+\t\t\t\tComputed: true,\n+\t\t\t\tMinItems: 0,\n+\t\t\t\tMaxItems: 1,\n+\t\t\t\tElem: &schema.Resource{\n+\t\t\t\t\tSchema: map[string]*schema.Schema{\n+\t\t\t\t\t\t\"create_auth_challenge\": {\n+\t\t\t\t\t\t\tType:         schema.TypeString,\n+\t\t\t\t\t\t\tOptional:     true,\n+\t\t\t\t\t\t\tValidateFunc: validateArn,\n+\t\t\t\t\t\t},\n+\t\t\t\t\t\t\"custom_message\": {\n+\t\t\t\t\t\t\tType:         schema.TypeString,\n+\t\t\t\t\t\t\tOptional:     true,\n+\t\t\t\t\t\t\tValidateFunc: validateArn,\n+\t\t\t\t\t\t},\n+\t\t\t\t\t\t\"define_auth_challenge\": {\n+\t\t\t\t\t\t\tType:         schema.TypeString,\n+\t\t\t\t\t\t\tOptional:     true,\n+\t\t\t\t\t\t\tValidateFunc: validateArn,\n+\t\t\t\t\t\t},\n+\t\t\t\t\t\t\"post_authentication\": {\n+\t\t\t\t\t\t\tType:         schema.TypeString,\n+\t\t\t\t\t\t\tOptional:     true,\n+\t\t\t\t\t\t\tValidateFunc: validateArn,\n+\t\t\t\t\t\t},\n+\t\t\t\t\t\t\"post_confirmation\": {\n+\t\t\t\t\t\t\tType:         schema.TypeString,\n+\t\t\t\t\t\t\tOptional:     true,\n+\t\t\t\t\t\t\tValidateFunc: validateArn,\n+\t\t\t\t\t\t},\n+\t\t\t\t\t\t\"pre_authentication\": {\n+\t\t\t\t\t\t\tType:         schema.TypeString,\n+\t\t\t\t\t\t\tOptional:     true,\n+\t\t\t\t\t\t\tValidateFunc: validateArn,\n+\t\t\t\t\t\t},\n+\t\t\t\t\t\t\"pre_sign_up\": {\n+\t\t\t\t\t\t\tType:         schema.TypeString,\n+\t\t\t\t\t\t\tOptional:     true,\n+\t\t\t\t\t\t\tValidateFunc: validateArn,\n+\t\t\t\t\t\t},\n+\t\t\t\t\t\t\"verify_auth_challenge_response\": {\n+\t\t\t\t\t\t\tType:         schema.TypeString,\n+\t\t\t\t\t\t\tOptional:     true,\n+\t\t\t\t\t\t\tValidateFunc: validateArn,\n+\t\t\t\t\t\t},\n+\t\t\t\t\t},\n+\t\t\t\t},\n+\t\t\t},\n+\n+\t\t\t\"last_modified_date\": {\n+\t\t\t\tType:     schema.TypeString,\n+\t\t\t\tComputed: true,\n+\t\t\t},\n+\n+\t\t\t\"mfa_configuration\": {\n+\t\t\t\tType:         schema.TypeString,\n+\t\t\t\tOptional:     true,\n+\t\t\t\tDefault:      cognitoidentityprovider.UserPoolMfaTypeOff,\n+\t\t\t\tValidateFunc: validateCognitoUserPoolMfaConfiguration,\n+\t\t\t},\n+\n+\t\t\t\"name\": {\n+\t\t\t\tType:     schema.TypeString,\n+\t\t\t\tRequired: true,\n+\t\t\t\tForceNew: true,\n+\t\t\t},\n+\n+\t\t\t\"password_policy\": {\n+\t\t\t\tType:     schema.TypeList,\n+\t\t\t\tOptional: true,\n+\t\t\t\tComputed: true,\n+\t\t\t\tMinItems: 0,\n+\t\t\t\tMaxItems: 1,\n+\t\t\t\tElem: &schema.Resource{\n+\t\t\t\t\tSchema: map[string]*schema.Schema{\n+\t\t\t\t\t\t\"minimum_length\": {\n+\t\t\t\t\t\t\tType:         schema.TypeInt,\n+\t\t\t\t\t\t\tOptional:     true,\n+\t\t\t\t\t\t\tValidateFunc: validateIntegerInRange(6, 99),\n+\t\t\t\t\t\t},\n+\t\t\t\t\t\t\"require_lowercase\": {\n+\t\t\t\t\t\t\tType:     schema.TypeBool,\n+\t\t\t\t\t\t\tOptional: true,\n+\t\t\t\t\t\t},\n+\t\t\t\t\t\t\"require_numbers\": {\n+\t\t\t\t\t\t\tType:     schema.TypeBool,\n+\t\t\t\t\t\t\tOptional: true,\n+\t\t\t\t\t\t},\n+\t\t\t\t\t\t\"require_symbols\": {\n+\t\t\t\t\t\t\tType:     schema.TypeBool,\n+\t\t\t\t\t\t\tOptional: true,\n+\t\t\t\t\t\t},\n+\t\t\t\t\t\t\"require_uppercase\": {\n+\t\t\t\t\t\t\tType:     schema.TypeBool,\n+\t\t\t\t\t\t\tOptional: true,\n+\t\t\t\t\t\t},\n+\t\t\t\t\t},\n+\t\t\t\t},\n+\t\t\t},\n+\n+\t\t\t\"schema\": {\n+\t\t\t\tType:     schema.TypeSet,\n+\t\t\t\tOptional: true,\n+\t\t\t\tForceNew: true,\n+\t\t\t\tMinItems: 1,\n+\t\t\t\tMaxItems: 50,\n+\t\t\t\tElem: &schema.Resource{\n+\t\t\t\t\tSchema: map[string]*schema.Schema{\n+\t\t\t\t\t\t\"attribute_data_type\": {\n+\t\t\t\t\t\t\tType:     schema.TypeString,\n+\t\t\t\t\t\t\tOptional: true,\n+\t\t\t\t\t\t\tValidateFunc: validation.StringInSlice([]string{\n+\t\t\t\t\t\t\t\tcognitoidentityprovider.AttributeDataTypeString,\n+\t\t\t\t\t\t\t\tcognitoidentityprovider.AttributeDataTypeNumber,\n+\t\t\t\t\t\t\t\tcognitoidentityprovider.AttributeDataTypeDateTime,\n+\t\t\t\t\t\t\t\tcognitoidentityprovider.AttributeDataTypeBoolean,\n+\t\t\t\t\t\t\t}, false),\n+\t\t\t\t\t\t},\n+\t\t\t\t\t\t\"developer_only_attribute\": {\n+\t\t\t\t\t\t\tType:     schema.TypeBool,\n+\t\t\t\t\t\t\tOptional: true,\n+\t\t\t\t\t\t},\n+\t\t\t\t\t\t\"mutable\": {\n+\t\t\t\t\t\t\tType:     schema.TypeBool,\n+\t\t\t\t\t\t\tOptional: true,\n+\t\t\t\t\t\t},\n+\t\t\t\t\t\t\"name\": {\n+\t\t\t\t\t\t\tType:         schema.TypeString,\n+\t\t\t\t\t\t\tOptional:     true,\n+\t\t\t\t\t\t\tValidateFunc: validateCognitoUserPoolSchemaName,\n+\t\t\t\t\t\t},\n+\t\t\t\t\t\t\"number_attribute_constraints\": {\n+\t\t\t\t\t\t\tType:     schema.TypeList,\n+\t\t\t\t\t\t\tOptional: true,\n+\t\t\t\t\t\t\tMinItems: 0,\n+\t\t\t\t\t\t\tMaxItems: 1,\n+\t\t\t\t\t\t\tElem: &schema.Resource{\n+\t\t\t\t\t\t\t\tSchema: map[string]*schema.Schema{\n+\t\t\t\t\t\t\t\t\t\"min_value\": {\n+\t\t\t\t\t\t\t\t\t\tType:     schema.TypeString,\n+\t\t\t\t\t\t\t\t\t\tOptional: true,\n+\t\t\t\t\t\t\t\t\t},\n+\t\t\t\t\t\t\t\t\t\"max_value\": {\n+\t\t\t\t\t\t\t\t\t\tType:     schema.TypeString,\n+\t\t\t\t\t\t\t\t\t\tOptional: true,\n+\t\t\t\t\t\t\t\t\t},\n+\t\t\t\t\t\t\t\t},\n+\t\t\t\t\t\t\t},\n+\t\t\t\t\t\t},\n+\t\t\t\t\t\t\"required\": {\n+\t\t\t\t\t\t\tType:     schema.TypeBool,\n+\t\t\t\t\t\t\tOptional: true,\n+\t\t\t\t\t\t},\n+\t\t\t\t\t\t\"string_attribute_constraints\": {\n+\t\t\t\t\t\t\tType:     schema.TypeList,\n+\t\t\t\t\t\t\tOptional: true,\n+\t\t\t\t\t\t\tMinItems: 0,\n+\t\t\t\t\t\t\tMaxItems: 1,\n+\t\t\t\t\t\t\tElem: &schema.Resource{\n+\t\t\t\t\t\t\t\tSchema: map[string]*schema.Schema{\n+\t\t\t\t\t\t\t\t\t\"min_length\": {\n+\t\t\t\t\t\t\t\t\t\tType:     schema.TypeString,\n+\t\t\t\t\t\t\t\t\t\tOptional: true,\n+\t\t\t\t\t\t\t\t\t},\n+\t\t\t\t\t\t\t\t\t\"max_length\": {\n+\t\t\t\t\t\t\t\t\t\tType:     schema.TypeString,\n+\t\t\t\t\t\t\t\t\t\tOptional: true,\n+\t\t\t\t\t\t\t\t\t},\n+\t\t\t\t\t\t\t\t},\n+\t\t\t\t\t\t\t},\n+\t\t\t\t\t\t},\n+\t\t\t\t\t},\n+\t\t\t\t},\n+\t\t\t},\n+\n+\t\t\t\"sms_authentication_message\": {\n+\t\t\t\tType:         schema.TypeString,\n+\t\t\t\tOptional:     true,\n+\t\t\t\tValidateFunc: validateCognitoUserPoolSmsAuthenticationMessage,\n+\t\t\t},\n+\n+\t\t\t\"sms_configuration\": {\n+\t\t\t\tType:     schema.TypeList,\n+\t\t\t\tOptional: true,\n+\t\t\t\tMinItems: 0,\n+\t\t\t\tMaxItems: 1,\n+\t\t\t\tElem: &schema.Resource{\n+\t\t\t\t\tSchema: map[string]*schema.Schema{\n+\t\t\t\t\t\t\"external_id\": {\n+\t\t\t\t\t\t\tType:     schema.TypeString,\n+\t\t\t\t\t\t\tRequired: true,\n+\t\t\t\t\t\t},\n+\t\t\t\t\t\t\"sns_caller_arn\": {\n+\t\t\t\t\t\t\tType:         schema.TypeString,\n+\t\t\t\t\t\t\tRequired:     true,\n+\t\t\t\t\t\t\tValidateFunc: validateArn,\n+\t\t\t\t\t\t},\n+\t\t\t\t\t},\n+\t\t\t\t},\n+\t\t\t},\n+\n+\t\t\t\"sms_verification_message\": {\n+\t\t\t\tType:         schema.TypeString,\n+\t\t\t\tOptional:     true,\n+\t\t\t\tValidateFunc: validateCognitoUserPoolSmsVerificationMessage,\n+\t\t\t},\n+\n+\t\t\t\"tags\": tagsSchema(),\n+\n+\t\t\t\"username_attributes\": {\n+\t\t\t\tType:     schema.TypeList,\n+\t\t\t\tOptional: true,\n+\t\t\t\tForceNew: true,\n+\t\t\t\tElem: &schema.Schema{\n+\t\t\t\t\tType: schema.TypeString,\n+\t\t\t\t\tValidateFunc: validation.StringInSlice([]string{\n+\t\t\t\t\t\tcognitoidentityprovider.UsernameAttributeTypeEmail,\n+\t\t\t\t\t\tcognitoidentityprovider.UsernameAttributeTypePhoneNumber,\n+\t\t\t\t\t}, false),\n+\t\t\t\t},\n+\t\t\t\tConflictsWith: []string{\"alias_attributes\"},\n+\t\t\t},\n+\n+\t\t\t\"verification_message_template\": {\n+\t\t\t\tType:     schema.TypeList,\n+\t\t\t\tOptional: true,\n+\t\t\t\tComputed: true,\n+\t\t\t\tMaxItems: 1,\n+\t\t\t\tElem: &schema.Resource{\n+\t\t\t\t\tSchema: map[string]*schema.Schema{\n+\t\t\t\t\t\t\"default_email_option\": {\n+\t\t\t\t\t\t\tType:         schema.TypeString,\n+\t\t\t\t\t\t\tOptional:     true,\n+\t\t\t\t\t\t\tDefault:      cognitoidentityprovider.DefaultEmailOptionTypeConfirmWithCode,\n+\t\t\t\t\t\t\tValidateFunc: validateCognitoUserPoolTemplateDefaultEmailOption,\n+\t\t\t\t\t\t},\n+\t\t\t\t\t\t\"email_message\": {\n+\t\t\t\t\t\t\tType:         schema.TypeString,\n+\t\t\t\t\t\t\tOptional:     true,\n+\t\t\t\t\t\t\tComputed:     true,\n+\t\t\t\t\t\t\tValidateFunc: validateCognitoUserPoolTemplateEmailMessage,\n+\t\t\t\t\t\t},\n+\t\t\t\t\t\t\"email_message_by_link\": {\n+\t\t\t\t\t\t\tType:         schema.TypeString,\n+\t\t\t\t\t\t\tOptional:     true,\n+\t\t\t\t\t\t\tComputed:     true,\n+\t\t\t\t\t\t\tValidateFunc: validateCognitoUserPoolTemplateEmailMessageByLink,\n+\t\t\t\t\t\t},\n+\t\t\t\t\t\t\"email_subject\": {\n+\t\t\t\t\t\t\tType:         schema.TypeString,\n+\t\t\t\t\t\t\tOptional:     true,\n+\t\t\t\t\t\t\tComputed:     true,\n+\t\t\t\t\t\t\tValidateFunc: validateCognitoUserPoolTemplateEmailSubject,\n+\t\t\t\t\t\t},\n+\t\t\t\t\t\t\"email_subject_by_link\": {\n+\t\t\t\t\t\t\tType:         schema.TypeString,\n+\t\t\t\t\t\t\tOptional:     true,\n+\t\t\t\t\t\t\tComputed:     true,\n+\t\t\t\t\t\t\tValidateFunc: validateCognitoUserPoolTemplateEmailSubjectByLink,\n+\t\t\t\t\t\t},\n+\t\t\t\t\t\t\"sms_message\": {\n+\t\t\t\t\t\t\tType:         schema.TypeString,\n+\t\t\t\t\t\t\tOptional:     true,\n+\t\t\t\t\t\t\tComputed:     true,\n+\t\t\t\t\t\t\tValidateFunc: validateCognitoUserPoolTemplateSmsMessage,\n+\t\t\t\t\t\t},\n+\t\t\t\t\t},\n+\t\t\t\t},\n+\t\t\t},\n+\t\t},\n+\t}\n+}\n+\n+func resourceAwsCognitoUserPoolCreate(d *schema.ResourceData, meta interface{}) error {\n+\tconn := meta.(*AWSClient).cognitoidpconn\n+\n+\tparams := &cognitoidentityprovider.CreateUserPoolInput{\n+\t\tPoolName: aws.String(d.Get(\"name\").(string)),\n+\t}\n+\n+\tif v, ok := d.GetOk(\"admin_create_user_config\"); ok {\n+\t\tconfigs := v.([]interface{})\n+\t\tconfig, ok := configs[0].(map[string]interface{})\n+\n+\t\tif !ok {\n+\t\t\treturn errors.New(\"admin_create_user_config is <nil>\")\n+\t\t}\n+\n+\t\tif config != nil {\n+\t\t\tparams.AdminCreateUserConfig = expandCognitoUserPoolAdminCreateUserConfig(config)\n+\t\t}\n+\t}\n+\n+\tif v, ok := d.GetOk(\"alias_attributes\"); ok {\n+\t\tparams.AliasAttributes = expandStringList(v.([]interface{}))\n+\t}\n+\n+\tif v, ok := d.GetOk(\"auto_verified_attributes\"); ok {\n+\t\tparams.AutoVerifiedAttributes = expandStringList(v.([]interface{}))\n+\t}\n+\n+\tif v, ok := d.GetOk(\"email_configuration\"); ok {\n+\t\tconfigs := v.([]interface{})\n+\t\tconfig, ok := configs[0].(map[string]interface{})\n+\n+\t\tif !ok {\n+\t\t\treturn errors.New(\"email_configuration is <nil>\")\n+\t\t}\n+\n+\t\tif config != nil {\n+\t\t\temailConfigurationType := &cognitoidentityprovider.EmailConfigurationType{}\n+\n+\t\t\tif v, ok := config[\"reply_to_email_address\"]; ok && v.(string) != \"\" {\n+\t\t\t\temailConfigurationType.ReplyToEmailAddress = aws.String(v.(string))\n+\t\t\t}\n+\n+\t\t\tif v, ok := config[\"source_arn\"]; ok && v.(string) != \"\" {\n+\t\t\t\temailConfigurationType.SourceArn = aws.String(v.(string))\n+\t\t\t}\n+\n+\t\t\tparams.EmailConfiguration = emailConfigurationType\n+\t\t}\n+\t}\n+\n+\tif v, ok := d.GetOk(\"admin_create_user_config\"); ok {\n+\t\tconfigs := v.([]interface{})\n+\t\tconfig, ok := configs[0].(map[string]interface{})\n+\n+\t\tif !ok {\n+\t\t\treturn errors.New(\"admin_create_user_config is <nil>\")\n+\t\t}\n+\n+\t\tif config != nil {\n+\t\t\tparams.AdminCreateUserConfig = expandCognitoUserPoolAdminCreateUserConfig(config)\n+\t\t}\n+\t}\n+\n+\tif v, ok := d.GetOk(\"device_configuration\"); ok {\n+\t\tconfigs := v.([]interface{})\n+\t\tconfig, ok := configs[0].(map[string]interface{})\n+\n+\t\tif !ok {\n+\t\t\treturn errors.New(\"device_configuration is <nil>\")\n+\t\t}\n+\n+\t\tif config != nil {\n+\t\t\tparams.DeviceConfiguration = expandCognitoUserPoolDeviceConfiguration(config)\n+\t\t}\n+\t}\n+\n+\tif v, ok := d.GetOk(\"email_verification_subject\"); ok {\n+\t\tparams.EmailVerificationSubject = aws.String(v.(string))\n+\t}\n+\n+\tif v, ok := d.GetOk(\"email_verification_message\"); ok {\n+\t\tparams.EmailVerificationMessage = aws.String(v.(string))\n+\t}\n+\n+\tif v, ok := d.GetOk(\"lambda_config\"); ok {\n+\t\tconfigs := v.([]interface{})\n+\t\tconfig, ok := configs[0].(map[string]interface{})\n+\n+\t\tif !ok {\n+\t\t\treturn errors.New(\"lambda_config is <nil>\")\n+\t\t}\n+\n+\t\tif config != nil {\n+\t\t\tparams.LambdaConfig = expandCognitoUserPoolLambdaConfig(config)\n+\t\t}\n+\t}\n+\n+\tif v, ok := d.GetOk(\"mfa_configuration\"); ok {\n+\t\tparams.MfaConfiguration = aws.String(v.(string))\n+\t}\n+\n+\tpolicies := &cognitoidentityprovider.UserPoolPolicyType{}\n+\n+\tif v, ok := d.GetOk(\"password_policy\"); ok {\n+\t\tconfigs := v.([]interface{})\n+\t\tconfig, ok := configs[0].(map[string]interface{})\n+\n+\t\tif !ok {\n+\t\t\treturn errors.New(\"password_policy is <nil>\")\n+\t\t}\n+\n+\t\tif config != nil {\n+\t\t\tpolicies.PasswordPolicy = expandCognitoUserPoolPasswordPolicy(config)\n+\t\t}\n+\t}\n+\n+\tparams.Policies = policies\n+\n+\tif v, ok := d.GetOk(\"schema\"); ok {\n+\t\tconfigs := v.(*schema.Set).List()\n+\t\tparams.Schema = expandCognitoUserPoolSchema(configs)\n+\t}\n+\n+\tif v, ok := d.GetOk(\"sms_authentication_message\"); ok {\n+\t\tparams.SmsAuthenticationMessage = aws.String(v.(string))\n+\t}\n+\n+\tif v, ok := d.GetOk(\"sms_configuration\"); ok {\n+\t\tconfigs := v.([]interface{})\n+\t\tconfig, ok := configs[0].(map[string]interface{})\n+\n+\t\tif !ok {\n+\t\t\treturn errors.New(\"sms_configuration is <nil>\")\n+\t\t}\n+\n+\t\tif config != nil {\n+\t\t\tparams.SmsConfiguration = expandCognitoUserPoolSmsConfiguration(config)\n+\t\t}\n+\t}\n+\n+\tif v, ok := d.GetOk(\"username_attributes\"); ok {\n+\t\tparams.UsernameAttributes = expandStringList(v.([]interface{}))\n+\t}\n+\n+\tif v, ok := d.GetOk(\"verification_message_template\"); ok {\n+\t\tconfigs := v.([]interface{})\n+\t\tconfig, ok := configs[0].(map[string]interface{})\n+\n+\t\tif !ok {\n+\t\t\treturn errors.New(\"verification_message_template is <nil>\")\n+\t\t}\n+\n+\t\tif config != nil {\n+\t\t\tparams.VerificationMessageTemplate = expandCognitoUserPoolVerificationMessageTemplate(config)\n+\t\t}\n+\t}\n+\n+\tif v, ok := d.GetOk(\"sms_verification_message\"); ok {\n+\t\tparams.SmsVerificationMessage = aws.String(v.(string))\n+\t}\n+\n+\tif v, ok := d.GetOk(\"tags\"); ok {\n+\t\tparams.UserPoolTags = tagsFromMapGeneric(v.(map[string]interface{}))\n+\t}\n+\tlog.Printf(\"[DEBUG] Creating Cognito User Pool: %s\", params)\n+\n+\t// IAM roles & policies can take some time to propagate and be attached\n+\t// to the User Pool\n+\tvar resp *cognitoidentityprovider.CreateUserPoolOutput\n+\terr := resource.Retry(2*time.Minute, func() *resource.RetryError {\n+\t\tvar err error\n+\t\tresp, err = conn.CreateUserPool(params)\n+\t\tif isAWSErr(err, \"InvalidSmsRoleTrustRelationshipException\", \"Role does not have a trust relationship allowing Cognito to assume the role\") {\n+\t\t\tlog.Printf(\"[DEBUG] Received %s, retrying CreateUserPool\", err)\n+\t\t\treturn resource.RetryableError(err)\n+\t\t}\n+\t\tif isAWSErr(err, \"InvalidSmsRoleAccessPolicyException\", \"Role does not have permission to publish with SNS\") {\n+\t\t\tlog.Printf(\"[DEBUG] Received %s, retrying CreateUserPool\", err)\n+\t\t\treturn resource.RetryableError(err)\n+\t\t}\n+\n+\t\treturn resource.NonRetryableError(err)\n+\t})\n+\tif err != nil {\n+\t\treturn errwrap.Wrapf(\"Error creating Cognito User Pool: {{err}}\", err)","path":"aws/resource_aws_cognito_user_pool.go","position":574,"original_position":617,"commit_id":"fb18171987f163669cd586be053ad975e579febb","original_commit_id":"f1061c432cf9da928a1faa60e70f7ab26b04ad0a","user":{"login":"Ninir","id":855022,"avatar_url":"https://avatars3.githubusercontent.com/u/855022?v=4","gravatar_id":"","url":"https://api.github.com/users/Ninir","html_url":"https://github.com/Ninir","followers_url":"https://api.github.com/users/Ninir/followers","following_url":"https://api.github.com/users/Ninir/following{/other_user}","gists_url":"https://api.github.com/users/Ninir/gists{/gist_id}","starred_url":"https://api.github.com/users/Ninir/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ninir/subscriptions","organizations_url":"https://api.github.com/users/Ninir/orgs","repos_url":"https://api.github.com/users/Ninir/repos","events_url":"https://api.github.com/users/Ninir/events{/privacy}","received_events_url":"https://api.github.com/users/Ninir/received_events","type":"User","site_admin":false},"body":"Done!","created_at":"2017-11-16T10:34:55Z","updated_at":"2017-11-16T10:34:56Z","html_url":"https://github.com/terraform-providers/terraform-provider-aws/pull/1419#discussion_r151376039","pull_request_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/pulls/1419","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/pulls/comments/151376039"},"html":{"href":"https://github.com/terraform-providers/terraform-provider-aws/pull/1419#discussion_r151376039"},"pull_request":{"href":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/pulls/1419"}},"in_reply_to_id":151242569},"pull_request":{"url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/pulls/1419","id":135777145,"html_url":"https://github.com/terraform-providers/terraform-provider-aws/pull/1419","diff_url":"https://github.com/terraform-providers/terraform-provider-aws/pull/1419.diff","patch_url":"https://github.com/terraform-providers/terraform-provider-aws/pull/1419.patch","issue_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/issues/1419","number":1419,"state":"open","locked":false,"title":"New Resource: aws_cognito_user_pool","user":{"login":"Ninir","id":855022,"avatar_url":"https://avatars3.githubusercontent.com/u/855022?v=4","gravatar_id":"","url":"https://api.github.com/users/Ninir","html_url":"https://github.com/Ninir","followers_url":"https://api.github.com/users/Ninir/followers","following_url":"https://api.github.com/users/Ninir/following{/other_user}","gists_url":"https://api.github.com/users/Ninir/gists{/gist_id}","starred_url":"https://api.github.com/users/Ninir/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ninir/subscriptions","organizations_url":"https://api.github.com/users/Ninir/orgs","repos_url":"https://api.github.com/users/Ninir/repos","events_url":"https://api.github.com/users/Ninir/events{/privacy}","received_events_url":"https://api.github.com/users/Ninir/received_events","type":"User","site_admin":false},"body":"### Description\r\nThis implements Cognito User pool with original work from @Harrison-Miller.\r\nThis work is missing a few attributes & options that will be added ASAP.\r\n\r\n### API Documentation\r\n* http://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html\r\n\r\n### Test\r\n```\r\nmake testacc TEST=./aws TESTARGS='-run=TestAccAWSCognitoUserPool_'\r\n==> Checking that code complies with gofmt requirements...\r\nTF_ACC=1 go test ./aws -v -run=TestAccAWSCognitoUserPool_ -timeout 120m\r\n=== RUN   TestAccAWSCognitoUserPool_importBasic\r\n--- PASS: TestAccAWSCognitoUserPool_importBasic (17.59s)\r\n=== RUN   TestAccAWSCognitoUserPool_basic\r\n--- PASS: TestAccAWSCognitoUserPool_basic (14.16s)\r\n=== RUN   TestAccAWSCognitoUserPool_withAdminCreateUserConfiguration\r\n--- PASS: TestAccAWSCognitoUserPool_withAdminCreateUserConfiguration (24.01s)\r\n=== RUN   TestAccAWSCognitoUserPool_withDeviceConfiguration\r\n--- PASS: TestAccAWSCognitoUserPool_withDeviceConfiguration (24.74s)\r\n=== RUN   TestAccAWSCognitoUserPool_withEmailVerificationMessage\r\n--- PASS: TestAccAWSCognitoUserPool_withEmailVerificationMessage (23.63s)\r\n=== RUN   TestAccAWSCognitoUserPool_withSmsVerificationMessage\r\n--- PASS: TestAccAWSCognitoUserPool_withSmsVerificationMessage (22.74s)\r\n=== RUN   TestAccAWSCognitoUserPool_withEmailConfiguration\r\n--- PASS: TestAccAWSCognitoUserPool_withEmailConfiguration (23.38s)\r\n=== RUN   TestAccAWSCognitoUserPool_withSmsConfiguration\r\n--- PASS: TestAccAWSCognitoUserPool_withSmsConfiguration (34.88s)\r\n=== RUN   TestAccAWSCognitoUserPool_withSmsConfigurationUpdated\r\n--- PASS: TestAccAWSCognitoUserPool_withSmsConfigurationUpdated (41.22s)\r\n=== RUN   TestAccAWSCognitoUserPool_withTags\r\n--- PASS: TestAccAWSCognitoUserPool_withTags (23.02s)\r\n=== RUN   TestAccAWSCognitoUserPool_withAliasAttributes\r\n--- PASS: TestAccAWSCognitoUserPool_withAliasAttributes (25.68s)\r\n=== RUN   TestAccAWSCognitoUserPool_withPasswordPolicy\r\n--- PASS: TestAccAWSCognitoUserPool_withPasswordPolicy (23.89s)\r\n=== RUN   TestAccAWSCognitoUserPool_withLambdaConfig\r\n--- PASS: TestAccAWSCognitoUserPool_withLambdaConfig (45.36s)\r\n=== RUN   TestAccAWSCognitoUserPool_withSchemaAttributes\r\n--- PASS: TestAccAWSCognitoUserPool_withSchemaAttributes (24.43s)\r\n=== RUN   TestAccAWSCognitoUserPool_withVerificationMessageTemplate\r\n--- PASS: TestAccAWSCognitoUserPool_withVerificationMessageTemplate (27.58s)\r\nPASS\r\nok  \tgithub.com/terraform-providers/terraform-provider-aws/aws\t396.355s\r\n```\r\n\r\n### TODOs\r\n- [x] Handle MFA\r\n- [x] Handle Admin options\r\n- [x] Handle Admin acc tests\r\n- [x] Handle Email Configurations\r\n- [x] Handle Email Configurations acc tests\r\n- [x] Handle Device Configuration\r\n- [x] Handle Device Configuration acc tests\r\n- [x] Handle SMS Configurations\r\n- [x] Handle SMS Configurations acc tests\r\n- [x] Handle Schema attributes\r\n- [x] Handle Schema attributes acc tests\r\n- [x] Handle Password policy\r\n- [x] Handle Password policy acc tests\r\n- [x] Handle Lambda Config\r\n- [x] Handle Lambda Config acc tests\r\n- [x] Handle Verification Message Template\r\n- [x] Handle Verification Message Template acc tests\r\n- [x] Handle Username attributes\r\n- [x] Improve the documentation\r\n- [x] Handle Import","created_at":"2017-08-15T10:47:32Z","updated_at":"2017-11-16T10:34:56Z","closed_at":null,"merged_at":null,"merge_commit_sha":"4dbf8a8fd091d21f1247e7c769c23eb45b3deab6","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":{"url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/milestones/2","html_url":"https://github.com/terraform-providers/terraform-provider-aws/milestone/2","labels_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/milestones/2/labels","id":2877362,"number":2,"title":"v1.3.0","description":"","creator":{"login":"radeksimko","id":287584,"avatar_url":"https://avatars1.githubusercontent.com/u/287584?v=4","gravatar_id":"","url":"https://api.github.com/users/radeksimko","html_url":"https://github.com/radeksimko","followers_url":"https://api.github.com/users/radeksimko/followers","following_url":"https://api.github.com/users/radeksimko/following{/other_user}","gists_url":"https://api.github.com/users/radeksimko/gists{/gist_id}","starred_url":"https://api.github.com/users/radeksimko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/radeksimko/subscriptions","organizations_url":"https://api.github.com/users/radeksimko/orgs","repos_url":"https://api.github.com/users/radeksimko/repos","events_url":"https://api.github.com/users/radeksimko/events{/privacy}","received_events_url":"https://api.github.com/users/radeksimko/received_events","type":"User","site_admin":false},"open_issues":5,"closed_issues":1,"state":"open","created_at":"2017-10-31T06:36:49Z","updated_at":"2017-11-16T09:17:15Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/pulls/1419/commits","review_comments_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/pulls/1419/comments","review_comment_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/pulls/comments{/number}","comments_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/issues/1419/comments","statuses_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/statuses/fb18171987f163669cd586be053ad975e579febb","head":{"label":"Ninir:f-cognito-identity-provider-user-pool","ref":"f-cognito-identity-provider-user-pool","sha":"fb18171987f163669cd586be053ad975e579febb","user":{"login":"Ninir","id":855022,"avatar_url":"https://avatars3.githubusercontent.com/u/855022?v=4","gravatar_id":"","url":"https://api.github.com/users/Ninir","html_url":"https://github.com/Ninir","followers_url":"https://api.github.com/users/Ninir/followers","following_url":"https://api.github.com/users/Ninir/following{/other_user}","gists_url":"https://api.github.com/users/Ninir/gists{/gist_id}","starred_url":"https://api.github.com/users/Ninir/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ninir/subscriptions","organizations_url":"https://api.github.com/users/Ninir/orgs","repos_url":"https://api.github.com/users/Ninir/repos","events_url":"https://api.github.com/users/Ninir/events{/privacy}","received_events_url":"https://api.github.com/users/Ninir/received_events","type":"User","site_admin":false},"repo":{"id":94090405,"name":"terraform-provider-aws","full_name":"Ninir/terraform-provider-aws","owner":{"login":"Ninir","id":855022,"avatar_url":"https://avatars3.githubusercontent.com/u/855022?v=4","gravatar_id":"","url":"https://api.github.com/users/Ninir","html_url":"https://github.com/Ninir","followers_url":"https://api.github.com/users/Ninir/followers","following_url":"https://api.github.com/users/Ninir/following{/other_user}","gists_url":"https://api.github.com/users/Ninir/gists{/gist_id}","starred_url":"https://api.github.com/users/Ninir/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ninir/subscriptions","organizations_url":"https://api.github.com/users/Ninir/orgs","repos_url":"https://api.github.com/users/Ninir/repos","events_url":"https://api.github.com/users/Ninir/events{/privacy}","received_events_url":"https://api.github.com/users/Ninir/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Ninir/terraform-provider-aws","description":"Terraform aws provider","fork":true,"url":"https://api.github.com/repos/Ninir/terraform-provider-aws","forks_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/forks","keys_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/teams","hooks_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/hooks","issue_events_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/issues/events{/number}","events_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/events","assignees_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/assignees{/user}","branches_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/branches{/branch}","tags_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/tags","blobs_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/git/refs{/sha}","trees_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/statuses/{sha}","languages_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/languages","stargazers_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/stargazers","contributors_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/contributors","subscribers_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/subscribers","subscription_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/subscription","commits_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/commits{/sha}","git_commits_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/git/commits{/sha}","comments_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/comments{/number}","issue_comment_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/issues/comments{/number}","contents_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/contents/{+path}","compare_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/merges","archive_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/downloads","issues_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/issues{/number}","pulls_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/pulls{/number}","milestones_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/milestones{/number}","notifications_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/labels{/name}","releases_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/releases{/id}","deployments_url":"https://api.github.com/repos/Ninir/terraform-provider-aws/deployments","created_at":"2017-06-12T11:50:26Z","updated_at":"2017-06-12T11:50:31Z","pushed_at":"2017-11-16T10:01:19Z","git_url":"git://github.com/Ninir/terraform-provider-aws.git","ssh_url":"git@github.com:Ninir/terraform-provider-aws.git","clone_url":"https://github.com/Ninir/terraform-provider-aws.git","svn_url":"https://github.com/Ninir/terraform-provider-aws","homepage":"","size":21752,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"terraform-providers:master","ref":"master","sha":"0f454481a71056332a771b48d59c85480c49d9ad","user":{"login":"terraform-providers","id":29154831,"avatar_url":"https://avatars0.githubusercontent.com/u/29154831?v=4","gravatar_id":"","url":"https://api.github.com/users/terraform-providers","html_url":"https://github.com/terraform-providers","followers_url":"https://api.github.com/users/terraform-providers/followers","following_url":"https://api.github.com/users/terraform-providers/following{/other_user}","gists_url":"https://api.github.com/users/terraform-providers/gists{/gist_id}","starred_url":"https://api.github.com/users/terraform-providers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/terraform-providers/subscriptions","organizations_url":"https://api.github.com/users/terraform-providers/orgs","repos_url":"https://api.github.com/users/terraform-providers/repos","events_url":"https://api.github.com/users/terraform-providers/events{/privacy}","received_events_url":"https://api.github.com/users/terraform-providers/received_events","type":"Organization","site_admin":false},"repo":{"id":93444615,"name":"terraform-provider-aws","full_name":"terraform-providers/terraform-provider-aws","owner":{"login":"terraform-providers","id":29154831,"avatar_url":"https://avatars0.githubusercontent.com/u/29154831?v=4","gravatar_id":"","url":"https://api.github.com/users/terraform-providers","html_url":"https://github.com/terraform-providers","followers_url":"https://api.github.com/users/terraform-providers/followers","following_url":"https://api.github.com/users/terraform-providers/following{/other_user}","gists_url":"https://api.github.com/users/terraform-providers/gists{/gist_id}","starred_url":"https://api.github.com/users/terraform-providers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/terraform-providers/subscriptions","organizations_url":"https://api.github.com/users/terraform-providers/orgs","repos_url":"https://api.github.com/users/terraform-providers/repos","events_url":"https://api.github.com/users/terraform-providers/events{/privacy}","received_events_url":"https://api.github.com/users/terraform-providers/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/terraform-providers/terraform-provider-aws","description":"Terraform AWS provider","fork":false,"url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws","forks_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/forks","keys_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/keys{/key_id}","collaborators_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/teams","hooks_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/hooks","issue_events_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/issues/events{/number}","events_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/events","assignees_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/assignees{/user}","branches_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/branches{/branch}","tags_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/tags","blobs_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/git/refs{/sha}","trees_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/git/trees{/sha}","statuses_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/statuses/{sha}","languages_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/languages","stargazers_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/stargazers","contributors_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/contributors","subscribers_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/subscribers","subscription_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/subscription","commits_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/commits{/sha}","git_commits_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/git/commits{/sha}","comments_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/comments{/number}","issue_comment_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/issues/comments{/number}","contents_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/contents/{+path}","compare_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/compare/{base}...{head}","merges_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/merges","archive_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/downloads","issues_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/issues{/number}","pulls_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/pulls{/number}","milestones_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/milestones{/number}","notifications_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/labels{/name}","releases_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/releases{/id}","deployments_url":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/deployments","created_at":"2017-06-05T20:37:52Z","updated_at":"2017-11-16T10:30:39Z","pushed_at":"2017-11-16T10:01:23Z","git_url":"git://github.com/terraform-providers/terraform-provider-aws.git","ssh_url":"git@github.com:terraform-providers/terraform-provider-aws.git","clone_url":"https://github.com/terraform-providers/terraform-provider-aws.git","svn_url":"https://github.com/terraform-providers/terraform-provider-aws","homepage":"https://www.terraform.io/docs/providers/aws/","size":22040,"stargazers_count":481,"watchers_count":481,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":438,"mirror_url":null,"archived":false,"open_issues_count":1388,"forks":438,"open_issues":1388,"watchers":481,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/pulls/1419"},"html":{"href":"https://github.com/terraform-providers/terraform-provider-aws/pull/1419"},"issue":{"href":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/issues/1419"},"comments":{"href":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/issues/1419/comments"},"review_comments":{"href":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/pulls/1419/comments"},"review_comment":{"href":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/pulls/1419/commits"},"statuses":{"href":"https://api.github.com/repos/terraform-providers/terraform-provider-aws/statuses/fb18171987f163669cd586be053ad975e579febb"}},"author_association":"COLLABORATOR"}}
{"actor":{"display_login":"Ninir"}}