Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Generate sam pipeline schema #5637

Merged
merged 2 commits into from
Jul 28, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
157 changes: 153 additions & 4 deletions schema/samcli.json
Original file line number Diff line number Diff line change
Expand Up @@ -1528,9 +1528,142 @@
"properties": {
"parameters": {
"title": "Parameters for the pipeline bootstrap command",
"description": "Available parameters for the pipeline bootstrap command:\n",
"description": "Available parameters for the pipeline bootstrap command:\n* interactive:\nDisable interactive prompting for bootstrap parameters, and fail if any required arguments are missing.\n* stage:\nThe name of the corresponding deployment stage. It is used as a suffix for the created AWS infrastructure resources.\n* pipeline_user:\nThe Amazon Resource Name (ARN) of the IAM user having its access key ID and secret access key shared with the CI/CD system. It is used to grant this IAM user permission to access the corresponding AWS account. If not provided, the command will create one along with the access key ID and secret access key credentials.\n* pipeline_execution_role:\nThe ARN of the IAM role to be assumed by the pipeline user to operate on this stage. Provide it only if you want to use your own role, otherwise this command will create one.\n* cloudformation_execution_role:\nThe ARN of the IAM role to be assumed by the AWS CloudFormation service while deploying the application's stack. Provide only if you want to use your own role, otherwise the command will create one.\n* bucket:\nThe ARN of the Amazon S3 bucket to hold the AWS SAM artifacts.\n* create_image_repository:\nIf set to true and no ECR image repository is provided, this command will create an ECR image repository to hold the container images of Lambda functions having an Image package type.\n* image_repository:\nThe ARN of an Amazon ECR image repository to hold the container images of Lambda functions or layers that have a package type of Image. If provided, the --create-image-repository options is ignored. If not provided and --create-image-repository is specified, the command will create one.\n* confirm_changeset:\nPrompt to confirm if the resources are to be deployed.\n* permissions_provider:\nChoose a permissions provider to assume the pipeline execution role. Default is to use an IAM User.\n* oidc_provider_url:\nThe URL of the OIDC provider.\n* oidc_client_id:\nThe client ID configured to use with the OIDC provider.\n* github_org:\nThe GitHub organization that the repository belongs to. If there is no organization enter the Username of the repository owner instead Only used if using GitHub Actions OIDC for user permissions\n* github_repo:\nThe name of the GitHub Repository that deployments will occur from. Only used if using GitHub Actions OIDC for permissions\n* deployment_branch:\nThe name of the branch that deployments will occur from. Only used if using GitHub Actions OIDC for permissions\n* oidc_provider:\nThe name of the CI/CD system that will be used for OIDC permissions Currently supported CI/CD systems are : GitLab, GitHub and Bitbucket\n* gitlab_group:\nThe GitLab group that the repository belongs to. Only used if using GitLab OIDC for permissions\n* gitlab_project:\nThe GitLab project name. Only used if using GitLab OIDC for permissions\n* bitbucket_repo_uuid:\nThe UUID of the Bitbucket repository. Only used if using Bitbucket OIDC for permissions. Found at https://bitbucket.org/<WORKSPACE>/<REPOSITORY>/admin/addon/admin/pipelines/openid-connect\n* cicd_provider:\nThe CICD platform for the SAM Pipeline\n* beta_features:\nEnable/Disable beta features.\n* debug:\nTurn on debug logging to print debug message generated by AWS SAM CLI and display timestamps.\n* profile:\nSelect a specific profile from your credential file to get AWS credentials.\n* region:\nSet the AWS Region of the service. (e.g. us-east-1)",
"type": "object",
"properties": {}
"properties": {
"interactive": {
"title": "interactive",
"type": "boolean",
"description": "Disable interactive prompting for bootstrap parameters, and fail if any required arguments are missing.",
"default": true
},
"stage": {
"title": "stage",
"type": "string",
"description": "The name of the corresponding deployment stage. It is used as a suffix for the created AWS infrastructure resources."
},
"pipeline_user": {
"title": "pipeline_user",
"type": "string",
"description": "The Amazon Resource Name (ARN) of the IAM user having its access key ID and secret access key shared with the CI/CD system. It is used to grant this IAM user permission to access the corresponding AWS account. If not provided, the command will create one along with the access key ID and secret access key credentials."
},
"pipeline_execution_role": {
"title": "pipeline_execution_role",
"type": "string",
"description": "The ARN of the IAM role to be assumed by the pipeline user to operate on this stage. Provide it only if you want to use your own role, otherwise this command will create one."
},
"cloudformation_execution_role": {
"title": "cloudformation_execution_role",
"type": "string",
"description": "The ARN of the IAM role to be assumed by the AWS CloudFormation service while deploying the application's stack. Provide only if you want to use your own role, otherwise the command will create one."
},
"bucket": {
"title": "bucket",
"type": "string",
"description": "The ARN of the Amazon S3 bucket to hold the AWS SAM artifacts."
},
"create_image_repository": {
"title": "create_image_repository",
"type": "boolean",
"description": "If set to true and no ECR image repository is provided, this command will create an ECR image repository to hold the container images of Lambda functions having an Image package type."
},
"image_repository": {
"title": "image_repository",
"type": "string",
"description": "The ARN of an Amazon ECR image repository to hold the container images of Lambda functions or layers that have a package type of Image. If provided, the --create-image-repository options is ignored. If not provided and --create-image-repository is specified, the command will create one."
},
"confirm_changeset": {
"title": "confirm_changeset",
"type": "boolean",
"description": "Prompt to confirm if the resources are to be deployed.",
"default": true
},
"permissions_provider": {
"title": "permissions_provider",
"type": "string",
"description": "Choose a permissions provider to assume the pipeline execution role. Default is to use an IAM User.",
"default": "iam",
"enum": [
"iam",
"oidc"
]
},
"oidc_provider_url": {
"title": "oidc_provider_url",
"type": "string",
"description": "The URL of the OIDC provider."
},
"oidc_client_id": {
"title": "oidc_client_id",
"type": "string",
"description": "The client ID configured to use with the OIDC provider."
},
"github_org": {
"title": "github_org",
"type": "string",
"description": "The GitHub organization that the repository belongs to. If there is no organization enter the Username of the repository owner instead Only used if using GitHub Actions OIDC for user permissions"
},
"github_repo": {
"title": "github_repo",
"type": "string",
"description": "The name of the GitHub Repository that deployments will occur from. Only used if using GitHub Actions OIDC for permissions"
},
"deployment_branch": {
"title": "deployment_branch",
"type": "string",
"description": "The name of the branch that deployments will occur from. Only used if using GitHub Actions OIDC for permissions"
},
"oidc_provider": {
"title": "oidc_provider",
"type": "string",
"description": "The name of the CI/CD system that will be used for OIDC permissions Currently supported CI/CD systems are : GitLab, GitHub and Bitbucket",
"enum": [
"bitbucket-pipelines",
"github-actions",
"gitlab"
]
},
"gitlab_group": {
"title": "gitlab_group",
"type": "string",
"description": "The GitLab group that the repository belongs to. Only used if using GitLab OIDC for permissions"
},
"gitlab_project": {
"title": "gitlab_project",
"type": "string",
"description": "The GitLab project name. Only used if using GitLab OIDC for permissions"
},
"bitbucket_repo_uuid": {
"title": "bitbucket_repo_uuid",
"type": "string",
"description": "The UUID of the Bitbucket repository. Only used if using Bitbucket OIDC for permissions. Found at https://bitbucket.org/<WORKSPACE>/<REPOSITORY>/admin/addon/admin/pipelines/openid-connect"
},
"cicd_provider": {
"title": "cicd_provider",
"type": "string",
"description": "The CICD platform for the SAM Pipeline"
},
"beta_features": {
"title": "beta_features",
"type": "boolean",
"description": "Enable/Disable beta features."
},
"debug": {
"title": "debug",
"type": "boolean",
"description": "Turn on debug logging to print debug message generated by AWS SAM CLI and display timestamps."
},
"profile": {
"title": "profile",
"type": "string",
"description": "Select a specific profile from your credential file to get AWS credentials."
},
"region": {
"title": "region",
"type": "string",
"description": "Set the AWS Region of the service. (e.g. us-east-1)"
}
}
}
},
"required": [
Expand All @@ -1543,9 +1676,25 @@
"properties": {
"parameters": {
"title": "Parameters for the pipeline init command",
"description": "Available parameters for the pipeline init command:\n",
"description": "Available parameters for the pipeline init command:\n* bootstrap:\nEnable interactive mode that walks the user through creating necessary AWS infrastructure resources.\n* beta_features:\nEnable/Disable beta features.\n* debug:\nTurn on debug logging to print debug message generated by AWS SAM CLI and display timestamps.",
"type": "object",
"properties": {}
"properties": {
"bootstrap": {
"title": "bootstrap",
"type": "boolean",
"description": "Enable interactive mode that walks the user through creating necessary AWS infrastructure resources."
},
"beta_features": {
"title": "beta_features",
"type": "boolean",
"description": "Enable/Disable beta features."
},
"debug": {
"title": "debug",
"type": "boolean",
"description": "Turn on debug logging to print debug message generated by AWS SAM CLI and display timestamps."
}
}
}
},
"required": [
Expand Down
Loading