#[allow(unused_imports)]
mod prelude {
pub use kube::CustomResource;
pub use serde::{Serialize, Deserialize};
pub use k8s_openapi::apimachinery::pkg::apis::meta::v1::Condition;
}
use self::prelude::*;
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[kube(group = "cloudfront.services.k8s.aws", version = "v1alpha1", kind = "Distribution", plural = "distributions")]
#[kube(namespaced)]
#[kube(status = "DistributionStatus")]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct DistributionSpec {
#[serde(rename = "distributionConfig")]
pub distribution_config: DistributionDistributionConfig,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<DistributionTags>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aliases: Option<DistributionDistributionConfigAliases>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "cacheBehaviors")]
pub cache_behaviors: Option<DistributionDistributionConfigCacheBehaviors>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "continuousDeploymentPolicyID")]
pub continuous_deployment_policy_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "customErrorResponses")]
pub custom_error_responses: Option<DistributionDistributionConfigCustomErrorResponses>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultCacheBehavior")]
pub default_cache_behavior: Option<DistributionDistributionConfigDefaultCacheBehavior>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultRootObject")]
pub default_root_object: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpVersion")]
pub http_version: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "isIPV6Enabled")]
pub is_ipv6_enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub logging: Option<DistributionDistributionConfigLogging>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "originGroups")]
pub origin_groups: Option<DistributionDistributionConfigOriginGroups>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub origins: Option<DistributionDistributionConfigOrigins>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "priceClass")]
pub price_class: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub restrictions: Option<DistributionDistributionConfigRestrictions>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub staging: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "viewerCertificate")]
pub viewer_certificate: Option<DistributionDistributionConfigViewerCertificate>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "webACLID")]
pub web_aclid: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigAliases {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigCacheBehaviors {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<DistributionDistributionConfigCacheBehaviorsItems>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigCacheBehaviorsItems {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "allowedMethods")]
pub allowed_methods: Option<DistributionDistributionConfigCacheBehaviorsItemsAllowedMethods>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "cachePolicyID")]
pub cache_policy_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub compress: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultTTL")]
pub default_ttl: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldLevelEncryptionID")]
pub field_level_encryption_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "forwardedValues")]
pub forwarded_values: Option<DistributionDistributionConfigCacheBehaviorsItemsForwardedValues>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "functionAssociations")]
pub function_associations: Option<DistributionDistributionConfigCacheBehaviorsItemsFunctionAssociations>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "lambdaFunctionAssociations")]
pub lambda_function_associations: Option<DistributionDistributionConfigCacheBehaviorsItemsLambdaFunctionAssociations>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxTTL")]
pub max_ttl: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minTTL")]
pub min_ttl: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "originRequestPolicyID")]
pub origin_request_policy_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "pathPattern")]
pub path_pattern: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "realtimeLogConfigARN")]
pub realtime_log_config_arn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "responseHeadersPolicyID")]
pub response_headers_policy_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "smoothStreaming")]
pub smooth_streaming: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "targetOriginID")]
pub target_origin_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "trustedKeyGroups")]
pub trusted_key_groups: Option<DistributionDistributionConfigCacheBehaviorsItemsTrustedKeyGroups>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "trustedSigners")]
pub trusted_signers: Option<DistributionDistributionConfigCacheBehaviorsItemsTrustedSigners>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "viewerProtocolPolicy")]
pub viewer_protocol_policy: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigCacheBehaviorsItemsAllowedMethods {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "cachedMethods")]
pub cached_methods: Option<DistributionDistributionConfigCacheBehaviorsItemsAllowedMethodsCachedMethods>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigCacheBehaviorsItemsAllowedMethodsCachedMethods {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigCacheBehaviorsItemsForwardedValues {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cookies: Option<DistributionDistributionConfigCacheBehaviorsItemsForwardedValuesCookies>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub headers: Option<DistributionDistributionConfigCacheBehaviorsItemsForwardedValuesHeaders>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "queryString")]
pub query_string: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "queryStringCacheKeys")]
pub query_string_cache_keys: Option<DistributionDistributionConfigCacheBehaviorsItemsForwardedValuesQueryStringCacheKeys>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigCacheBehaviorsItemsForwardedValuesCookies {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub forward: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "whitelistedNames")]
pub whitelisted_names: Option<DistributionDistributionConfigCacheBehaviorsItemsForwardedValuesCookiesWhitelistedNames>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigCacheBehaviorsItemsForwardedValuesCookiesWhitelistedNames {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigCacheBehaviorsItemsForwardedValuesHeaders {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigCacheBehaviorsItemsForwardedValuesQueryStringCacheKeys {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigCacheBehaviorsItemsFunctionAssociations {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<DistributionDistributionConfigCacheBehaviorsItemsFunctionAssociationsItems>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigCacheBehaviorsItemsFunctionAssociationsItems {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "eventType")]
pub event_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "functionARN")]
pub function_arn: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigCacheBehaviorsItemsLambdaFunctionAssociations {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<DistributionDistributionConfigCacheBehaviorsItemsLambdaFunctionAssociationsItems>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigCacheBehaviorsItemsLambdaFunctionAssociationsItems {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "eventType")]
pub event_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "includeBody")]
pub include_body: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "lambdaFunctionARN")]
pub lambda_function_arn: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigCacheBehaviorsItemsTrustedKeyGroups {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigCacheBehaviorsItemsTrustedSigners {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigCustomErrorResponses {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<DistributionDistributionConfigCustomErrorResponsesItems>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigCustomErrorResponsesItems {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "errorCachingMinTTL")]
pub error_caching_min_ttl: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "errorCode")]
pub error_code: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "responseCode")]
pub response_code: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "responsePagePath")]
pub response_page_path: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigDefaultCacheBehavior {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "allowedMethods")]
pub allowed_methods: Option<DistributionDistributionConfigDefaultCacheBehaviorAllowedMethods>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "cachePolicyID")]
pub cache_policy_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub compress: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultTTL")]
pub default_ttl: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldLevelEncryptionID")]
pub field_level_encryption_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "forwardedValues")]
pub forwarded_values: Option<DistributionDistributionConfigDefaultCacheBehaviorForwardedValues>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "functionAssociations")]
pub function_associations: Option<DistributionDistributionConfigDefaultCacheBehaviorFunctionAssociations>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "lambdaFunctionAssociations")]
pub lambda_function_associations: Option<DistributionDistributionConfigDefaultCacheBehaviorLambdaFunctionAssociations>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxTTL")]
pub max_ttl: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minTTL")]
pub min_ttl: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "originRequestPolicyID")]
pub origin_request_policy_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "realtimeLogConfigARN")]
pub realtime_log_config_arn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "responseHeadersPolicyID")]
pub response_headers_policy_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "smoothStreaming")]
pub smooth_streaming: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "targetOriginID")]
pub target_origin_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "trustedKeyGroups")]
pub trusted_key_groups: Option<DistributionDistributionConfigDefaultCacheBehaviorTrustedKeyGroups>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "trustedSigners")]
pub trusted_signers: Option<DistributionDistributionConfigDefaultCacheBehaviorTrustedSigners>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "viewerProtocolPolicy")]
pub viewer_protocol_policy: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigDefaultCacheBehaviorAllowedMethods {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "cachedMethods")]
pub cached_methods: Option<DistributionDistributionConfigDefaultCacheBehaviorAllowedMethodsCachedMethods>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigDefaultCacheBehaviorAllowedMethodsCachedMethods {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigDefaultCacheBehaviorForwardedValues {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cookies: Option<DistributionDistributionConfigDefaultCacheBehaviorForwardedValuesCookies>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub headers: Option<DistributionDistributionConfigDefaultCacheBehaviorForwardedValuesHeaders>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "queryString")]
pub query_string: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "queryStringCacheKeys")]
pub query_string_cache_keys: Option<DistributionDistributionConfigDefaultCacheBehaviorForwardedValuesQueryStringCacheKeys>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigDefaultCacheBehaviorForwardedValuesCookies {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub forward: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "whitelistedNames")]
pub whitelisted_names: Option<DistributionDistributionConfigDefaultCacheBehaviorForwardedValuesCookiesWhitelistedNames>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigDefaultCacheBehaviorForwardedValuesCookiesWhitelistedNames {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigDefaultCacheBehaviorForwardedValuesHeaders {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigDefaultCacheBehaviorForwardedValuesQueryStringCacheKeys {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigDefaultCacheBehaviorFunctionAssociations {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<DistributionDistributionConfigDefaultCacheBehaviorFunctionAssociationsItems>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigDefaultCacheBehaviorFunctionAssociationsItems {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "eventType")]
pub event_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "functionARN")]
pub function_arn: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigDefaultCacheBehaviorLambdaFunctionAssociations {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<DistributionDistributionConfigDefaultCacheBehaviorLambdaFunctionAssociationsItems>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigDefaultCacheBehaviorLambdaFunctionAssociationsItems {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "eventType")]
pub event_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "includeBody")]
pub include_body: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "lambdaFunctionARN")]
pub lambda_function_arn: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigDefaultCacheBehaviorTrustedKeyGroups {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigDefaultCacheBehaviorTrustedSigners {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigLogging {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bucket: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "includeCookies")]
pub include_cookies: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub prefix: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigOriginGroups {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<DistributionDistributionConfigOriginGroupsItems>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigOriginGroupsItems {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "failoverCriteria")]
pub failover_criteria: Option<DistributionDistributionConfigOriginGroupsItemsFailoverCriteria>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub members: Option<DistributionDistributionConfigOriginGroupsItemsMembers>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigOriginGroupsItemsFailoverCriteria {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "statusCodes")]
pub status_codes: Option<DistributionDistributionConfigOriginGroupsItemsFailoverCriteriaStatusCodes>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigOriginGroupsItemsFailoverCriteriaStatusCodes {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<i64>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigOriginGroupsItemsMembers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<DistributionDistributionConfigOriginGroupsItemsMembersItems>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigOriginGroupsItemsMembersItems {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "originID")]
pub origin_id: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigOrigins {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<DistributionDistributionConfigOriginsItems>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigOriginsItems {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "connectionAttempts")]
pub connection_attempts: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "connectionTimeout")]
pub connection_timeout: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "customHeaders")]
pub custom_headers: Option<DistributionDistributionConfigOriginsItemsCustomHeaders>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "customOriginConfig")]
pub custom_origin_config: Option<DistributionDistributionConfigOriginsItemsCustomOriginConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "domainName")]
pub domain_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "originAccessControlID")]
pub origin_access_control_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "originPath")]
pub origin_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "originShield")]
pub origin_shield: Option<DistributionDistributionConfigOriginsItemsOriginShield>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "s3OriginConfig")]
pub s3_origin_config: Option<DistributionDistributionConfigOriginsItemsS3OriginConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "vpcOriginConfig")]
pub vpc_origin_config: Option<DistributionDistributionConfigOriginsItemsVpcOriginConfig>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigOriginsItemsCustomHeaders {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<DistributionDistributionConfigOriginsItemsCustomHeadersItems>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigOriginsItemsCustomHeadersItems {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "headerName")]
pub header_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "headerValue")]
pub header_value: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigOriginsItemsCustomOriginConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpPort")]
pub http_port: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpSPort")]
pub http_s_port: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "originKeepaliveTimeout")]
pub origin_keepalive_timeout: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "originProtocolPolicy")]
pub origin_protocol_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "originReadTimeout")]
pub origin_read_timeout: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "originSSLProtocols")]
pub origin_ssl_protocols: Option<DistributionDistributionConfigOriginsItemsCustomOriginConfigOriginSslProtocols>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigOriginsItemsCustomOriginConfigOriginSslProtocols {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigOriginsItemsOriginShield {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "originShieldRegion")]
pub origin_shield_region: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigOriginsItemsS3OriginConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "originAccessIdentity")]
pub origin_access_identity: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigOriginsItemsVpcOriginConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "originKeepaliveTimeout")]
pub origin_keepalive_timeout: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "originReadTimeout")]
pub origin_read_timeout: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "vpcOriginID")]
pub vpc_origin_id: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigRestrictions {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "geoRestriction")]
pub geo_restriction: Option<DistributionDistributionConfigRestrictionsGeoRestriction>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigRestrictionsGeoRestriction {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "restrictionType")]
pub restriction_type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigViewerCertificate {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "acmCertificateARN")]
pub acm_certificate_arn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "acmCertificateRef")]
pub acm_certificate_ref: Option<DistributionDistributionConfigViewerCertificateAcmCertificateRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "certificateSource")]
pub certificate_source: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "cloudFrontDefaultCertificate")]
pub cloud_front_default_certificate: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "iamCertificateID")]
pub iam_certificate_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minimumProtocolVersion")]
pub minimum_protocol_version: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sslSupportMethod")]
pub ssl_support_method: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigViewerCertificateAcmCertificateRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub from: Option<DistributionDistributionConfigViewerCertificateAcmCertificateRefFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionDistributionConfigViewerCertificateAcmCertificateRefFrom {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionTags {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionStatus {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ackResourceMetadata")]
pub ack_resource_metadata: Option<DistributionStatusAckResourceMetadata>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "activeTrustedKeyGroups")]
pub active_trusted_key_groups: Option<DistributionStatusActiveTrustedKeyGroups>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "activeTrustedSigners")]
pub active_trusted_signers: Option<DistributionStatusActiveTrustedSigners>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "aliasICPRecordals")]
pub alias_icp_recordals: Option<Vec<DistributionStatusAliasIcpRecordals>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "callerReference")]
pub caller_reference: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conditions: Option<Vec<Condition>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "domainName")]
pub domain_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "eTag")]
pub e_tag: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "inProgressInvalidationBatches")]
pub in_progress_invalidation_batches: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "lastModifiedTime")]
pub last_modified_time: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionStatusAckResourceMetadata {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
#[serde(rename = "ownerAccountID")]
pub owner_account_id: String,
pub region: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionStatusActiveTrustedKeyGroups {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<DistributionStatusActiveTrustedKeyGroupsItems>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionStatusActiveTrustedKeyGroupsItems {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "keyGroupID")]
pub key_group_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "keyPairIDs")]
pub key_pair_i_ds: Option<DistributionStatusActiveTrustedKeyGroupsItemsKeyPairIDs>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionStatusActiveTrustedKeyGroupsItemsKeyPairIDs {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub quantity: Option<i64>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionStatusActiveTrustedSigners {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<DistributionStatusActiveTrustedSignersItems>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionStatusActiveTrustedSignersItems {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "awsAccountNumber")]
pub aws_account_number: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "keyPairIDs")]
pub key_pair_i_ds: Option<DistributionStatusActiveTrustedSignersItemsKeyPairIDs>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionStatusActiveTrustedSignersItemsKeyPairIDs {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub quantity: Option<i64>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DistributionStatusAliasIcpRecordals {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cname: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "iCPRecordalStatus")]
pub i_cp_recordal_status: Option<String>,
}