diff --git a/schema/samcli.json b/schema/samcli.json index c94b2b5b4d..fae02bf9aa 100644 --- a/schema/samcli.json +++ b/schema/samcli.json @@ -1221,9 +1221,177 @@ "properties": { "parameters": { "title": "Parameters for the sync command", - "description": "Available parameters for the sync command:\n", + "description": "Available parameters for the sync command:\n* template_file:\nAWS SAM template file.\n* code:\nSync ONLY code resources. This includes Lambda Functions, API Gateway, and Step Functions.\n* watch:\nWatch local files and automatically sync with cloud.\n* resource_id:\nSync code for all the resources with the ID. To sync a resource within a nested stack, use the following pattern {ChildStack}/{logicalId}.\n* resource:\nSync code for all resources of the given resource type. Accepted values are ['AWS::Serverless::Function', 'AWS::Lambda::Function', 'AWS::Serverless::LayerVersion', 'AWS::Lambda::LayerVersion', 'AWS::Serverless::Api', 'AWS::ApiGateway::RestApi', 'AWS::Serverless::HttpApi', 'AWS::ApiGatewayV2::Api', 'AWS::Serverless::StateMachine', 'AWS::StepFunctions::StateMachine']\n* dependency_layer:\nSeparate dependencies of individual function into a Lambda layer for improved performance.\n* skip_deploy_sync:\nThis option will skip the initial infrastructure deployment if it is not required by comparing the local template with the template deployed in cloud.\n* stack_name:\nName of the AWS CloudFormation stack.\n* base_dir:\nResolve relative paths to function's source code with respect to this directory. Use this if SAM template and source code are not in same enclosing folder. By default, relative paths are resolved with respect to the SAM template's location.\n* use_container:\nBuild functions within an AWS Lambda-like container.\n* build_image:\nContainer image URIs for building functions/layers. You can specify for all functions/layers with just the image URI (--build-image public.ecr.aws/sam/build-nodejs18.x:latest). You can specify for each individual function with (--build-image FunctionLogicalID=public.ecr.aws/sam/build-nodejs18.x:latest). A combination of the two can be used. If a function does not have build image specified or an image URI for all functions, the default SAM CLI build images will be used.\n* image_repository:\nAWS ECR repository URI where artifacts referenced in the template are uploaded.\n* image_repositories:\nMapping of Function Logical ID to AWS ECR Repository URI.\n\nExample: Function_Logical_ID=ECR_Repo_Uri\nThis option can be specified multiple times.\n* s3_bucket:\nAWS S3 bucket where artifacts referenced in the template are uploaded.\n* s3_prefix:\nPrefix name that is added to the artifact's name when it is uploaded to the AWS S3 bucket.\n* kms_key_id:\nThe ID of an AWS KMS key that is used to encrypt artifacts that are at rest in the AWS S3 bucket.\n* role_arn:\nARN of an IAM role that AWS Cloudformation assumes when executing a deployment change set.\n* parameter_overrides:\nString that contains AWS CloudFormation parameter overrides encoded as key=value pairs.\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)\n* metadata:\nMap of metadata to attach to ALL the artifacts that are referenced in the template.\n* notification_arns:\nARNs of SNS topics that AWS Cloudformation associates with the stack.\n* tags:\nList of tags to associate with the stack.\n* capabilities:\nList of capabilities that one must specify before AWS Cloudformation can create certain stacks.\n\nAccepted Values: CAPABILITY_IAM, CAPABILITY_NAMED_IAM, CAPABILITY_RESOURCE_POLICY, CAPABILITY_AUTO_EXPAND.\n\nLearn more at: https://docs.aws.amazon.com/serverlessrepo/latest/devguide/acknowledging-application-capabilities.html", "type": "object", - "properties": {} + "properties": { + "template_file": { + "title": "template_file", + "type": "string", + "description": "AWS SAM template file.", + "default": "template.[yaml|yml|json]" + }, + "code": { + "title": "code", + "type": "boolean", + "description": "Sync ONLY code resources. This includes Lambda Functions, API Gateway, and Step Functions." + }, + "watch": { + "title": "watch", + "type": "boolean", + "description": "Watch local files and automatically sync with cloud." + }, + "resource_id": { + "title": "resource_id", + "type": "string", + "description": "Sync code for all the resources with the ID. To sync a resource within a nested stack, use the following pattern {ChildStack}/{logicalId}." + }, + "resource": { + "title": "resource", + "type": "string", + "description": "Sync code for all resources of the given resource type. Accepted values are ['AWS::Serverless::Function', 'AWS::Lambda::Function', 'AWS::Serverless::LayerVersion', 'AWS::Lambda::LayerVersion', 'AWS::Serverless::Api', 'AWS::ApiGateway::RestApi', 'AWS::Serverless::HttpApi', 'AWS::ApiGatewayV2::Api', 'AWS::Serverless::StateMachine', 'AWS::StepFunctions::StateMachine']", + "enum": [ + "AWS::ApiGateway::RestApi", + "AWS::ApiGatewayV2::Api", + "AWS::Lambda::Function", + "AWS::Lambda::LayerVersion", + "AWS::Serverless::Api", + "AWS::Serverless::Function", + "AWS::Serverless::HttpApi", + "AWS::Serverless::LayerVersion", + "AWS::Serverless::StateMachine", + "AWS::StepFunctions::StateMachine" + ] + }, + "dependency_layer": { + "title": "dependency_layer", + "type": "boolean", + "description": "Separate dependencies of individual function into a Lambda layer for improved performance.", + "default": true + }, + "skip_deploy_sync": { + "title": "skip_deploy_sync", + "type": "boolean", + "description": "This option will skip the initial infrastructure deployment if it is not required by comparing the local template with the template deployed in cloud.", + "default": true + }, + "stack_name": { + "title": "stack_name", + "type": "string", + "description": "Name of the AWS CloudFormation stack." + }, + "base_dir": { + "title": "base_dir", + "type": "string", + "description": "Resolve relative paths to function's source code with respect to this directory. Use this if SAM template and source code are not in same enclosing folder. By default, relative paths are resolved with respect to the SAM template's location." + }, + "use_container": { + "title": "use_container", + "type": "boolean", + "description": "Build functions within an AWS Lambda-like container." + }, + "build_image": { + "title": "build_image", + "type": "string", + "description": "Container image URIs for building functions/layers. You can specify for all functions/layers with just the image URI (--build-image public.ecr.aws/sam/build-nodejs18.x:latest). You can specify for each individual function with (--build-image FunctionLogicalID=public.ecr.aws/sam/build-nodejs18.x:latest). A combination of the two can be used. If a function does not have build image specified or an image URI for all functions, the default SAM CLI build images will be used." + }, + "image_repository": { + "title": "image_repository", + "type": "string", + "description": "AWS ECR repository URI where artifacts referenced in the template are uploaded." + }, + "image_repositories": { + "title": "image_repositories", + "type": "array", + "description": "Mapping of Function Logical ID to AWS ECR Repository URI.\n\nExample: Function_Logical_ID=ECR_Repo_Uri\nThis option can be specified multiple times.", + "items": { + "type": "string" + } + }, + "s3_bucket": { + "title": "s3_bucket", + "type": "string", + "description": "AWS S3 bucket where artifacts referenced in the template are uploaded." + }, + "s3_prefix": { + "title": "s3_prefix", + "type": "string", + "description": "Prefix name that is added to the artifact's name when it is uploaded to the AWS S3 bucket." + }, + "kms_key_id": { + "title": "kms_key_id", + "type": "string", + "description": "The ID of an AWS KMS key that is used to encrypt artifacts that are at rest in the AWS S3 bucket." + }, + "role_arn": { + "title": "role_arn", + "type": "string", + "description": "ARN of an IAM role that AWS Cloudformation assumes when executing a deployment change set." + }, + "parameter_overrides": { + "title": "parameter_overrides", + "type": [ + "array", + "string" + ], + "description": "String that contains AWS CloudFormation parameter overrides encoded as key=value pairs.", + "items": { + "type": "string" + } + }, + "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)" + }, + "metadata": { + "title": "metadata", + "type": "string", + "description": "Map of metadata to attach to ALL the artifacts that are referenced in the template." + }, + "notification_arns": { + "title": "notification_arns", + "type": "array", + "description": "ARNs of SNS topics that AWS Cloudformation associates with the stack.", + "items": { + "type": "string" + } + }, + "tags": { + "title": "tags", + "type": "array", + "description": "List of tags to associate with the stack.", + "items": { + "type": "string" + } + }, + "capabilities": { + "title": "capabilities", + "type": "array", + "description": "List of capabilities that one must specify before AWS Cloudformation can create certain stacks.\n\nAccepted Values: CAPABILITY_IAM, CAPABILITY_NAMED_IAM, CAPABILITY_RESOURCE_POLICY, CAPABILITY_AUTO_EXPAND.\n\nLearn more at: https://docs.aws.amazon.com/serverlessrepo/latest/devguide/acknowledging-application-capabilities.html", + "default": [ + "CAPABILITY_NAMED_IAM", + "CAPABILITY_AUTO_EXPAND" + ], + "items": { + "type": "string" + } + } + } } }, "required": [