runway.module.staticsite.parameters package

Runway Static Site Module parameters.

pydantic model runway.module.staticsite.parameters.RunwayStaticSiteCustomErrorResponseDataModel[source]

Bases: ConfigProperty

Model for Runway stat site Module staticsite_custom_error_responses parameter item.

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customerrorresponse.html

Show JSON schema
{
   "title": "Runway static site Module staticsite_custom_error_responses parameter item",
   "description": "Model for Runway stat site Module staticsite_custom_error_responses parameter item.\n\nhttps://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customerrorresponse.html",
   "type": "object",
   "properties": {
      "ErrorCachingMinTTL": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Errorcachingminttl"
      },
      "ErrorCode": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Errorcode"
      },
      "ResponseCode": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Responsecode"
      },
      "ResponsePagePath": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Responsepagepath"
      }
   },
   "additionalProperties": false
}

field ErrorCachingMinTTL: int | None = None
field ErrorCode: int | None = None
field ResponseCode: int | None = None
field ResponsePagePath: str | None = None
pydantic model runway.module.staticsite.parameters.RunwayStaticSiteLambdaFunctionAssociationDataModel[source]

Bases: ConfigProperty

Model for Runway stat site Module staticsite_lambda_function_associations parameter item.

Show JSON schema
{
   "title": "Runway static site Module staticsite_lambda_function_associations parameter item",
   "description": "Model for Runway stat site Module staticsite_lambda_function_associations parameter item.",
   "type": "object",
   "properties": {
      "arn": {
         "title": "Arn",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "required": [
      "arn",
      "type"
   ]
}

field arn: str = PydanticUndefined

Lambda function ARN.

field type: str = PydanticUndefined

Association type.

pydantic model runway.module.staticsite.parameters.RunwayStaticSiteModuleParametersDataModel[source]

Bases: ConfigProperty

Model for Runway static site Module parameters.

Show JSON schema
{
   "title": "Runway static site Module parameters",
   "description": "Model for Runway static site Module parameters.",
   "type": "object",
   "properties": {
      "staticsite_acmcert_arn": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Staticsite Acmcert Arn"
      },
      "staticsite_additional_redirect_domains": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "Staticsite Additional Redirect Domains",
         "type": "array"
      },
      "staticsite_aliases": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "Staticsite Aliases",
         "type": "array"
      },
      "staticsite_auth_at_edge": {
         "default": false,
         "title": "Staticsite Auth At Edge",
         "type": "boolean"
      },
      "staticsite_cf_disable": {
         "default": false,
         "title": "Staticsite Cf Disable",
         "type": "boolean"
      },
      "staticsite_compress": {
         "default": true,
         "title": "Staticsite Compress",
         "type": "boolean"
      },
      "staticsite_cookie_settings": {
         "additionalProperties": {
            "type": "string"
         },
         "default": {
            "idToken": "Path=/; Secure; SameSite=Lax",
            "accessToken": "Path=/; Secure; SameSite=Lax",
            "refreshToken": "Path=/; Secure; SameSite=Lax",
            "nonce": "Path=/; Secure; HttpOnly; Max-Age=1800; SameSite=Lax"
         },
         "title": "Staticsite Cookie Settings",
         "type": "object"
      },
      "staticsite_create_user_pool": {
         "default": false,
         "title": "Staticsite Create User Pool",
         "type": "boolean"
      },
      "staticsite_custom_error_responses": {
         "default": [],
         "items": {
            "$ref": "#/$defs/RunwayStaticSiteCustomErrorResponseDataModel"
         },
         "title": "Staticsite Custom Error Responses",
         "type": "array"
      },
      "staticsite_enable_cf_logging": {
         "default": true,
         "title": "Staticsite Enable Cf Logging",
         "type": "boolean"
      },
      "staticsite_http_headers": {
         "additionalProperties": {
            "type": "string"
         },
         "default": {
            "Content-Security-Policy": "default-src https: 'unsafe-eval' 'unsafe-inline'; font-src 'self' 'unsafe-inline' 'unsafe-eval' data: https:; object-src 'none'; connect-src 'self' https://*.amazonaws.com https://*.amazoncognito.com",
            "Strict-Transport-Security": "max-age=31536000; includeSubdomains; preload",
            "Referrer-Policy": "same-origin",
            "X-XSS-Protection": "1; mode=block",
            "X-Frame-Options": "DENY",
            "X-Content-Type-Options": "nosniff"
         },
         "title": "Staticsite Http Headers",
         "type": "object"
      },
      "staticsite_lambda_function_associations": {
         "default": [],
         "items": {
            "$ref": "#/$defs/RunwayStaticSiteLambdaFunctionAssociationDataModel"
         },
         "title": "Staticsite Lambda Function Associations",
         "type": "array"
      },
      "namespace": {
         "title": "Namespace",
         "type": "string"
      },
      "staticsite_non_spa": {
         "default": false,
         "title": "Staticsite Non Spa",
         "type": "boolean"
      },
      "staticsite_oauth_scopes": {
         "default": [
            "phone",
            "email",
            "profile",
            "openid",
            "aws.cognito.signin.user.admin"
         ],
         "items": {
            "type": "string"
         },
         "title": "Staticsite Oauth Scopes",
         "type": "array"
      },
      "staticsite_redirect_path_auth_refresh": {
         "default": "/refreshauth",
         "title": "Staticsite Redirect Path Auth Refresh",
         "type": "string"
      },
      "staticsite_redirect_path_sign_in": {
         "default": "/parseauth",
         "title": "Staticsite Redirect Path Sign In",
         "type": "string"
      },
      "staticsite_redirect_path_sign_out": {
         "default": "/",
         "title": "Staticsite Redirect Path Sign Out",
         "type": "string"
      },
      "staticsite_required_group": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Staticsite Required Group"
      },
      "staticsite_rewrite_directory_index": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Staticsite Rewrite Directory Index"
      },
      "staticsite_role_boundary_arn": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Staticsite Role Boundary Arn"
      },
      "cloudformation_service_role": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Cloudformation Service Role"
      },
      "staticsite_sign_out_url": {
         "default": "/signout",
         "title": "Staticsite Sign Out Url",
         "type": "string"
      },
      "staticsite_supported_identity_providers": {
         "default": [
            "COGNITO"
         ],
         "items": {
            "type": "string"
         },
         "title": "Staticsite Supported Identity Providers",
         "type": "array"
      },
      "staticsite_user_pool_arn": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Staticsite User Pool Arn"
      },
      "staticsite_web_acl": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Staticsite Web Acl"
      }
   },
   "$defs": {
      "RunwayStaticSiteCustomErrorResponseDataModel": {
         "additionalProperties": false,
         "description": "Model for Runway stat site Module staticsite_custom_error_responses parameter item.\n\nhttps://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customerrorresponse.html",
         "properties": {
            "ErrorCachingMinTTL": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Errorcachingminttl"
            },
            "ErrorCode": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Errorcode"
            },
            "ResponseCode": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Responsecode"
            },
            "ResponsePagePath": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Responsepagepath"
            }
         },
         "title": "Runway static site Module staticsite_custom_error_responses parameter item",
         "type": "object"
      },
      "RunwayStaticSiteLambdaFunctionAssociationDataModel": {
         "additionalProperties": false,
         "description": "Model for Runway stat site Module staticsite_lambda_function_associations parameter item.",
         "properties": {
            "arn": {
               "title": "Arn",
               "type": "string"
            },
            "type": {
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "arn",
            "type"
         ],
         "title": "Runway static site Module staticsite_lambda_function_associations parameter item",
         "type": "object"
      }
   },
   "required": [
      "namespace"
   ]
}

field acmcert_arn: str | None = None (alias 'staticsite_acmcert_arn')

The certificate arn used for any alias domains supplied. This is a requirement when supplying any custom domain.

field additional_redirect_domains: list[str] = [] (alias 'staticsite_additional_redirect_domains')

Additional domains (beyond the aliases domains or the CloudFront URL if no aliases are provided) that will be authorized by the Auth@Edge UserPool AppClient.

field aliases: list[str] = [] (alias 'staticsite_aliases')

Any custom domains that should be added to the CloudFront Distribution.

field auth_at_edge: bool = False (alias 'staticsite_auth_at_edge')

Auth@Edge make the static site private by placing it behind an authorization wall.

field cf_disable: bool = False (alias 'staticsite_cf_disable')

Whether deployment of the CloudFront Distribution should be disabled.

field compress: bool = True (alias 'staticsite_compress')

Whether the CloudFront default cache behavior will automatically compress certain files.

field cookie_settings: dict[str, str] = {'accessToken': 'Path=/; Secure; SameSite=Lax', 'idToken': 'Path=/; Secure; SameSite=Lax', 'nonce': 'Path=/; Secure; HttpOnly; Max-Age=1800; SameSite=Lax', 'refreshToken': 'Path=/; Secure; SameSite=Lax'} (alias 'staticsite_cookie_settings')

The default cookie settings for retrieved tokens and generated nonce’s.

field create_user_pool: bool = False (alias 'staticsite_create_user_pool')

Whether to create a User Pool for the Auth@Edge configuration.

field custom_error_responses: list[RunwayStaticSiteCustomErrorResponseDataModel] = [] (alias 'staticsite_custom_error_responses')

Define custom error responses.

field enable_cf_logging: bool = True (alias 'staticsite_enable_cf_logging')

Enable CloudFront logging.

field http_headers: dict[str, str] = {'Content-Security-Policy': "default-src https: 'unsafe-eval' 'unsafe-inline'; font-src 'self' 'unsafe-inline' 'unsafe-eval' data: https:; object-src 'none'; connect-src 'self' https://*.amazonaws.com https://*.amazoncognito.com", 'Referrer-Policy': 'same-origin', 'Strict-Transport-Security': 'max-age=31536000; includeSubdomains; preload', 'X-Content-Type-Options': 'nosniff', 'X-Frame-Options': 'DENY', 'X-XSS-Protection': '1; mode=block'} (alias 'staticsite_http_headers')

Headers that should be sent with each origin response.

field lambda_function_associations: list[RunwayStaticSiteLambdaFunctionAssociationDataModel] = [] (alias 'staticsite_lambda_function_associations')

This allows the user to deploy custom Lambda@Edge associations with their pre-build function versions.

field namespace: str = PydanticUndefined

The unique namespace for the deployment.

field non_spa: bool = False (alias 'staticsite_non_spa')

Whether this site is a single page application (SPA).

field oauth_scopes: list[str] = ['phone', 'email', 'profile', 'openid', 'aws.cognito.signin.user.admin'] (alias 'staticsite_oauth_scopes')

Scope is a mechanism in OAuth 2.0 to limit an application’s access to a user’s account.

field redirect_path_auth_refresh: str = '/refreshauth' (alias 'staticsite_redirect_path_auth_refresh')

The path that a user is redirected to when their authorization tokens have expired (1 hour).

field redirect_path_sign_in: str = '/parseauth' (alias 'staticsite_redirect_path_sign_in')

The path that a user is redirected to after sign-in.

field redirect_path_sign_out: str = '/' (alias 'staticsite_redirect_path_sign_out')

The path that a user is redirected to after sign-out.

field required_group: str | None = None (alias 'staticsite_required_group')

Name of Cognito User Pool group of which users must be a member to be granted access to the site. If None, allows all UserPool users to have access.

field rewrite_directory_index: str | None = None (alias 'staticsite_rewrite_directory_index')

Deploy a Lambda@Edge function designed to rewrite directory indexes.

field role_boundary_arn: str | None = None (alias 'staticsite_role_boundary_arn')

Defines an IAM Managed Policy that will be set as the permissions boundary for any IAM Roles created to support the site.

field service_role: str | None = None (alias 'cloudformation_service_role')

IAM role that CloudFormation will use.

field sign_out_url: str = '/signout' (alias 'staticsite_sign_out_url')

The path a user should access to sign themselves out of the application.

field supported_identity_providers: list[str] = ['COGNITO'] (alias 'staticsite_supported_identity_providers')

A comma delimited list of the User Pool client identity providers.

field user_pool_arn: str | None = None (alias 'staticsite_user_pool_arn')

The ARN of a pre-existing Cognito User Pool to use with Auth@Edge.

field web_acl: str | None = None (alias 'staticsite_web_acl')

The ARN of a web access control list (web ACL) to associate with the CloudFront Distribution.