Version 271.0.0

Issued

cfn.fyi compares each version of the AWS CloudFormation resource specification with the version before it. See new resource types and changed properties as AWS releases them.

  • added
  • modified
  • removed

01Added resource types5

addedAWS::Backup::BackupAccessPointdocs ↗#Link to AWS::Backup::BackupAccessPoint
Type: AWS::Backup::BackupAccessPointProperties:  AccessPointInTime: String  RecoveryPointArn: String  AccessPointPolicy: Json  Tags:    - Value: String      Key: String  Name: StringFn::GetAtt:  AccessPointMetadata:    AccessPointInTime: String    S3AccessPointArn: String    S3AccessPointAlias: String  Status: String  ResourceArn: String  BackupVaultArn: String  BackupVaultName: String  AccessPointMetadata.S3AccessPointAlias: String  CreationTime: String  AccessPointMetadata.AccessPointInTime: String  AccessPointMetadata.S3AccessPointArn: String  ResourceType: String  Arn: String
addedAWS::Bedrock::DataAutomationLibraryIngestionJobdocs ↗#Link to AWS::Bedrock::DataAutomationLibraryIngestionJob
Type: AWS::Bedrock::DataAutomationLibraryIngestionJobProperties:  EntityType: String  OutputConfiguration:    S3Uri: String  OperationType: String  Tags:    - Value: String      Key: String  LibraryArn: StringFn::GetAtt:  JobArn: String  JobStatus: String  CreationTime: String
addedAWS::DirectConnect::ResiliencyGroupdocs ↗#Link to AWS::DirectConnect::ResiliencyGroup
Type: AWS::DirectConnect::ResiliencyGroupProperties:  ResiliencyGroupName: String  ConnectionArns:    - String  Tags:    - Value: String      Key: String  IntendedResiliencyModel: StringFn::GetAtt:  ResiliencyGroupId: String  ResiliencyGroupArn: String
addedAWS::OSIS::PipelineEndpointdocs ↗#Link to AWS::OSIS::PipelineEndpoint
Type: AWS::OSIS::PipelineEndpointProperties:  PipelineArn: String  VpcOptions:    SubnetIds:      - String    SecurityGroupIds:      - StringFn::GetAtt:  Status: String  IngestEndpointUrl: String  VpcId: String  EndpointId: String  Arn: String
addedAWS::WorkSpaces::WorkspaceImagedocs ↗#Link to AWS::WorkSpaces::WorkspaceImage
Type: AWS::WorkSpaces::WorkspaceImageProperties:  Description: String  Tags:    - Value: String      Key: String  Name: StringFn::GetAtt:  OperatingSystem:    Type: String  Updates.Description: String  Updates:    Description: String    UpdateAvailable: Boolean  State: String  RequiredTenancy: String  ImageId: String  Arn: String  OwnerAccountId: String  Updates.UpdateAvailable: Boolean  OperatingSystem.Type: String  Created: String

02Modified resource types22

modifiedAWS::AppSync::GraphQLApihistorydocs ↗#Link to AWS::AppSync::GraphQLApi
Type: AWS::AppSync::GraphQLApiProperties:  # Duplicates allowed: Not specified → Nomodified:   AdditionalAuthenticationProviders:    - LambdaAuthorizerConfig:        # Update requires: No interruption → Some interruptionsmodified:         AuthorizerResultTtlInSeconds: Double → Integer        # Update requires: No interruption → Some interruptionsmodified:         AuthorizerUri: String        # Update requires: No interruption → Some interruptionsmodified:         IdentityValidationExpression: String      OpenIDConnectConfig:        # Update requires: No interruption → Some interruptionsmodified:         AuthTTL: Double        # Update requires: No interruption → Some interruptionsmodified:         ClientId: String        # Update requires: No interruption → Some interruptionsmodified:         IatTTL: Double        # Update requires: No interruption → Some interruptionsmodified:         Issuer: Stringmodified:   EnvironmentVariables: Json → Map of String  LambdaAuthorizerConfig:  # LambdaAuthorizerConfig: see above  OpenIDConnectConfig:  # OpenIDConnectConfig: see above  # Duplicates allowed: Not specified → Nomodified:   Tags:    - Tag  UserPoolConfig:    # Update requires: No interruption → Some interruptionsmodified:     AppIdClientRegex: String    # Update requires: No interruption → Some interruptionsmodified:     AwsRegion: String    # Update requires: No interruption → Some interruptionsmodified:     DefaultAction: String    # Update requires: No interruption → Some interruptionsmodified:     UserPoolId: String
modifiedAWS::CustomerProfiles::CalculatedAttributeDefinitionhistorydocs ↗#Link to AWS::CustomerProfiles::CalculatedAttributeDefinition
Type: AWS::CustomerProfiles::CalculatedAttributeDefinitionProperties:  # Update requires: No interruption → Replacementmodified:   AttributeDetails:    # Update requires: No interruption → Replacementmodified:     Attributes:      - # Update requires: No interruption → Replacementmodified:         Name: String    # Update requires: No interruption → Replacementmodified:     Expression: String  # Update requires: No interruption → Replacementmodified:   Statistic: String
modifiedAWS::CustomerProfiles::EventTriggerhistorydocs ↗#Link to AWS::CustomerProfiles::EventTrigger
Type: AWS::CustomerProfiles::EventTriggerProperties:added:   IntentFilterDefinition:added:     Groups:added:       - LogicalOperator: Stringadded:         Conditions:added:           - ComparisonOperator: Stringadded:             Values:added:               - Stringadded:             Intent:added:               IntentDomain: Stringadded:               Type: Stringadded:     LogicalOperator: String
modifiedAWS::DAX::Clusterhistorydocs ↗#Link to AWS::DAX::Cluster
Type: AWS::DAX::ClusterProperties:  # Duplicates allowed: Not specified → Yesmodified:   AvailabilityZones:    - String  SSESpecification:    # Update requires: No interruption → Replacementmodified:     SSEEnabled: Boolean  # Duplicates allowed: Not specified → Yesmodified:   SecurityGroupIds:    - String
modifiedAWS::EC2::ClientVpnEndpointhistorydocs ↗#Link to AWS::EC2::ClientVpnEndpoint
Type: AWS::EC2::ClientVpnEndpointProperties:  # Duplicates allowed: Not specified → Yesmodified:   AuthenticationOptions:    - # Update requires: No interruption → Replacementmodified:       ActiveDirectory:        # Update requires: No interruption → Replacementmodified:         DirectoryId: String      # Update requires: No interruption → Replacementmodified:       FederatedAuthentication:        # Update requires: No interruption → Replacementmodified:         SAMLProviderArn: String        # Update requires: No interruption → Replacementmodified:         SelfServiceSAMLProviderArn: String      # Update requires: No interruption → Replacementmodified:       MutualAuthentication:        # Update requires: No interruption → Replacementmodified:         ClientRootCertificateChainArn: String      # Update requires: No interruption → Replacementmodified:       Type: String  DevicePostureOptions:    # Duplicates allowed: Not specified → Yesmodified:     TrustProviders:      - DevicePostureTrustProvider  # Duplicates allowed: Not specified → Yesmodified:   DnsServers:    - String  # Duplicates allowed: Not specified → Yesmodified:   SecurityGroupIds:    - String  # Duplicates allowed: Not specified → Yesmodified:   TagSpecifications:    - # Update requires: No interruption → Replacementmodified:       ResourceType: String      # Update requires: No interruption → Replacement      # Duplicates allowed: Not specified → Yesmodified:       Tags:        - Tag  TransitGatewayConfiguration:    # Update requires: No interruption → Replacement    # Duplicates allowed: Not specified → Yesmodified:     AvailabilityZoneIds:      - String    # Update requires: No interruption → Replacement    # Duplicates allowed: Not specified → Yesmodified:     AvailabilityZones:      - String    # Update requires: No interruption → Replacementmodified:     TransitGatewayId: StringFn::GetAtt:added:   Id: String
modifiedAWS::EC2::ClientVpnTargetNetworkAssociationhistorydocs ↗#Link to AWS::EC2::ClientVpnTargetNetworkAssociation
Type: AWS::EC2::ClientVpnTargetNetworkAssociationFn::GetAtt:added:   AssociationId: String
modifiedAWS::ECS::CapacityProviderhistorydocs ↗#Link to AWS::ECS::CapacityProvider
Type: AWS::ECS::CapacityProviderProperties:  ManagedInstancesProvider:    InstanceLaunchTemplate:added:       NitroEnclavesEnabled: Boolean
modifiedAWS::ECS::DaemonTaskDefinitionhistorydocs ↗#Link to AWS::ECS::DaemonTaskDefinition
Type: AWS::ECS::DaemonTaskDefinitionProperties:  Volumes:added:     - LogDriverVolumeConfiguration:added:         Driver: String
modifiedAWS::EMR::Clusterhistorydocs ↗#Link to AWS::EMR::Cluster
Type: AWS::EMR::ClusterProperties:  # Duplicates allowed: No → Yesmodified:   Applications:    - # Update requires: No interruption → Replacement      # Duplicates allowed: No → Not specifiedmodified:       AdditionalInfo:        <key>: String      # Update requires: No interruption → Replacement      # Duplicates allowed: No → Yesmodified:       Args:        - String      # Update requires: No interruption → Replacementmodified:       Name: String      # Update requires: No interruption → Replacementmodified:       Version: String  AutoTerminationPolicy:modified:     IdleTimeout: Long → Integer  # Duplicates allowed: No → Yesmodified:   BootstrapActions:    - # Update requires: No interruption → Replacementmodified:       Name: String      # Update requires: No interruption → Replacementmodified:       ScriptBootstrapAction:        # Update requires: No interruption → Replacement        # Duplicates allowed: No → Yesmodified:         Args:          - String        # Update requires: No interruption → Replacementmodified:         Path: String  # Duplicates allowed: No → Yesmodified:   Configurations: List of Configuration → List of EMRConfiguration    # Update requires: No interruption → Some interruptionsmodified:     Classification: String    # Update requires: No interruption → Some interruptions    # Duplicates allowed: No → Not specifiedmodified:     ConfigurationProperties:      <key>: String    # Update requires: No interruption → Some interruptions    # Duplicates allowed: No → Yesmodified:     Configurations: List of Configuration → List of EMRConfiguration  # EMRConfiguration: see above  Instances:    # Update requires: Replacement → Some interruptions    # Duplicates allowed: No → Yesmodified:     AdditionalMasterSecurityGroups:      - String    # Update requires: Replacement → Some interruptions    # Duplicates allowed: No → Yesmodified:     AdditionalSlaveSecurityGroups:      - String    # Update requires: Replacement → Some interruptionsmodified:     CoreInstanceFleet:      # Update requires: No interruption → Some interruptions      # Duplicates allowed: No → Yesmodified:       InstanceTypeConfigs:        - # Update requires: No interruption → Some interruptionsmodified:           BidPrice: String          # Update requires: No interruption → Some interruptionsmodified:           BidPriceAsPercentageOfOnDemandPrice: Double          # Update requires: No interruption → Some interruptions          # Duplicates allowed: No → Yesmodified:           Configurations: List of Configuration → List of EMRConfiguration  # EMRConfiguration: see above          # Update requires: Replacement → Some interruptionsmodified:           CustomAmiId: String          # Update requires: No interruption → Some interruptionsmodified:           EbsConfiguration:            # Update requires: No interruption → Some interruptions            # Duplicates allowed: No → Yesmodified:             EbsBlockDeviceConfigs:              - # Update requires: No interruption → Some interruptionsmodified:                 VolumeSpecification:                  # Update requires: No interruption → Some interruptionsmodified:                   Iops: Integer                  # Update requires: No interruption → Some interruptionsmodified:                   SizeInGB: Integer                  # Update requires: No interruption → Some interruptionsmodified:                   Throughput: Integer                  # Update requires: No interruption → Some interruptionsmodified:                   VolumeType: String                # Update requires: No interruption → Some interruptionsmodified:                 VolumesPerInstance: Integer            # Update requires: No interruption → Some interruptionsmodified:             EbsOptimized: Boolean          # Update requires: No interruption → Some interruptionsmodified:           InstanceType: String          # Update requires: No interruption → Some interruptionsmodified:           Priority: Double          # Update requires: No interruption → Some interruptionsmodified:           WeightedCapacity: Integer      # Update requires: Replacement → Some interruptionsmodified:       LaunchSpecifications:        # Update requires: No interruption → Some interruptionsmodified:         OnDemandSpecification:          # Update requires: No interruption → Some interruptionsmodified:           AllocationStrategy: String          # Update requires: No interruption → Some interruptionsmodified:           CapacityReservationOptions:            # Update requires: No interruption → Some interruptionsmodified:             CapacityReservationPreference: String            # Update requires: No interruption → Some interruptionsmodified:             CapacityReservationResourceGroupArn: String            # Update requires: No interruption → Some interruptionsmodified:             UsageStrategy: String        # Update requires: No interruption → Some interruptionsmodified:         SpotSpecification:          # Update requires: No interruption → Some interruptionsmodified:           AllocationStrategy: String          # Update requires: No interruption → Some interruptionsmodified:           BlockDurationMinutes: Integer          # Update requires: No interruption → Some interruptionsmodified:           TimeoutAction: String          # Update requires: No interruption → Some interruptionsmodified:           TimeoutDurationMinutes: Integer      # Update requires: Replacement → Some interruptionsmodified:       Name: String      # Update requires: No interruption → Some interruptionsmodified:       ResizeSpecifications:        # Update requires: No interruption → Some interruptionsmodified:         OnDemandResizeSpecification:          # Update requires: No interruption → Some interruptionsmodified:           AllocationStrategy: String          # Update requires: No interruption → Some interruptionsmodified:           CapacityReservationOptions:  # OnDemandCapacityReservationOptions: see above          # Update requires: No interruption → Some interruptionsmodified:           TimeoutDurationMinutes: Integer        # Update requires: No interruption → Some interruptionsmodified:         SpotResizeSpecification:          # Update requires: No interruption → Some interruptionsmodified:           AllocationStrategy: String          # Update requires: No interruption → Some interruptionsmodified:           TimeoutDurationMinutes: Integer      # Update requires: No interruption → Some interruptionsmodified:       TargetOnDemandCapacity: Integer      # Update requires: No interruption → Some interruptionsmodified:       TargetSpotCapacity: Integer    # Update requires: Replacement → Some interruptionsmodified:     CoreInstanceGroup:      # Update requires: No interruption → Some interruptionsmodified:       AutoScalingPolicy:        # Update requires: No interruption → Some interruptionsmodified:         Constraints:          # Update requires: No interruption → Some interruptionsmodified:           MaxCapacity: Integer          # Update requires: No interruption → Some interruptionsmodified:           MinCapacity: Integer        # Update requires: No interruption → Some interruptions        # Duplicates allowed: No → Yesmodified:         Rules:          - # Update requires: No interruption → Some interruptionsmodified:             Action:              # Update requires: No interruption → Some interruptionsmodified:               Market: String              # Update requires: No interruption → Some interruptionsmodified:               SimpleScalingPolicyConfiguration:                # Update requires: No interruption → Some interruptionsmodified:                 AdjustmentType: String                # Update requires: No interruption → Some interruptionsmodified:                 CoolDown: Integer                # Update requires: No interruption → Some interruptionsmodified:                 ScalingAdjustment: Integer            # Update requires: No interruption → Some interruptionsmodified:             Description: String            # Update requires: No interruption → Some interruptionsmodified:             Name: String            # Update requires: No interruption → Some interruptionsmodified:             Trigger:              # Update requires: No interruption → Some interruptionsmodified:               CloudWatchAlarmDefinition:                # Update requires: No interruption → Some interruptionsmodified:                 ComparisonOperator: String                # Update requires: No interruption → Some interruptions                # Duplicates allowed: No → Yesmodified:                 Dimensions:                  - # Update requires: No interruption → Some interruptionsmodified:                     Key: String                    # Update requires: No interruption → Some interruptionsmodified:                     Value: String                # Update requires: No interruption → Some interruptionsmodified:                 EvaluationPeriods: Integer                # Update requires: No interruption → Some interruptionsmodified:                 MetricName: String                # Update requires: No interruption → Some interruptionsmodified:                 Namespace: String                # Update requires: No interruption → Some interruptionsmodified:                 Period: Integer                # Update requires: No interruption → Some interruptionsmodified:                 Statistic: String                # Update requires: No interruption → Some interruptionsmodified:                 Threshold: Double                # Update requires: No interruption → Some interruptionsmodified:                 Unit: String      # Update requires: Replacement → Some interruptionsmodified:       BidPrice: String      # Update requires: Replacement → Some interruptions      # Duplicates allowed: No → Yesmodified:       Configurations: List of Configuration → List of EMRConfiguration  # EMRConfiguration: see above      # Update requires: Replacement → Some interruptionsmodified:       CustomAmiId: String      # Update requires: Replacement → Some interruptionsmodified:       EbsConfiguration:  # EbsConfiguration: see above      # Update requires: No interruption → Some interruptionsmodified:       InstanceCount: Integer      # Update requires: Replacement → Some interruptionsmodified:       InstanceType: String      # Update requires: Replacement → Some interruptionsmodified:       Market: String      # Update requires: Replacement → Some interruptionsmodified:       Name: String    # Update requires: Replacement → Some interruptionsmodified:     Ec2KeyName: String    # Update requires: Replacement → Some interruptionsmodified:     Ec2SubnetId: String    # Update requires: Replacement → Some interruptions    # Duplicates allowed: No → Yesmodified:     Ec2SubnetIds:      - String    # Update requires: Replacement → Some interruptionsmodified:     EmrManagedMasterSecurityGroup: String    # Update requires: Replacement → Some interruptionsmodified:     EmrManagedSlaveSecurityGroup: String    # Update requires: Replacement → Some interruptionsmodified:     HadoopVersion: String    # Update requires: Replacement → Some interruptionsmodified:     KeepJobFlowAliveWhenNoSteps: Boolean    # Update requires: Replacement → Some interruptionsmodified:     MasterInstanceFleet:  # InstanceFleetConfig: see above    # Update requires: Replacement → Some interruptionsmodified:     MasterInstanceGroup:  # InstanceGroupConfig: see above    # Update requires: Replacement → Some interruptionsmodified:     Placement:      # Update requires: Replacement → Some interruptionsmodified:       AvailabilityZone: String    # Update requires: Replacement → Some interruptionsmodified:     ServiceAccessSecurityGroup: String    # Duplicates allowed: No → Yesmodified:     TaskInstanceFleets:  # InstanceFleetConfig: see above    # Duplicates allowed: No → Yesmodified:     TaskInstanceGroups:  # InstanceGroupConfig: see above    # Update requires: No interruption → Some interruptionsmodified:     TerminationProtected: Boolean    # Update requires: No interruption → Some interruptionsmodified:     UnhealthyNodeReplacement: Boolean  KerberosAttributes:    # Update requires: No interruption → Replacementmodified:     ADDomainJoinPassword: String    # Update requires: No interruption → Replacementmodified:     ADDomainJoinUser: String    # Update requires: No interruption → Replacementmodified:     CrossRealmTrustPrincipalPassword: String    # Update requires: No interruption → Replacementmodified:     KdcAdminPassword: String    # Update requires: No interruption → Replacementmodified:     Realm: Stringadded:   MonitoringConfiguration:added:     CloudWatchLogConfiguration:added:       EncryptionKeyArn: Stringadded:       Enabled: Booleanadded:       LogStreamNamePrefix: Stringadded:       LogGroupName: Stringadded:       LogTypes: Json  # Duplicates allowed: No → Yesmodified:   PlacementGroupConfigs:    - # Update requires: No interruption → Replacementmodified:       InstanceRole: String      # Update requires: No interruption → Replacementmodified:       PlacementStrategy: Stringadded:   SessionEnabled: Boolean  # Duplicates allowed: No → Yesmodified:   Steps:    - # Update requires: No interruption → Replacementmodified:       ActionOnFailure: String      # Update requires: No interruption → Replacementmodified:       HadoopJarStep:        # Update requires: No interruption → Replacement        # Duplicates allowed: No → Yesmodified:         Args:          - String        # Update requires: No interruption → Replacementmodified:         Jar: String        # Update requires: No interruption → Replacementmodified:         MainClass: String        # Update requires: No interruption → Replacementmodified:         StepProperties:          - # Update requires: No interruption → Replacementmodified:             Key: String            # Update requires: No interruption → Replacementmodified:             Value: String      # Update requires: No interruption → Replacementmodified:       Name: Stringremoved:   VisibleToAllUsers: BooleanFn::GetAtt:added:   Id: String
modifiedAWS::ImageBuilder::Imagehistorydocs ↗#Link to AWS::ImageBuilder::Image
Type: AWS::ImageBuilder::ImageProperties:  ImageScanningConfiguration:added:     ImageScanningTypes:added:       - Stringadded:     ScanResultCondition:added:       FixAvailable: Booleanadded:       MaximumSeverityLabel: String
modifiedAWS::ImageBuilder::ImagePipelinehistorydocs ↗#Link to AWS::ImageBuilder::ImagePipeline
Type: AWS::ImageBuilder::ImagePipelineProperties:  ImageScanningConfiguration:added:     ImageScanningTypes:added:       - Stringadded:     ScanResultCondition:added:       FixAvailable: Booleanadded:       MaximumSeverityLabel: String
modifiedAWS::LakeFormation::Resourcehistorydocs ↗#Link to AWS::LakeFormation::Resource
Type: AWS::LakeFormation::ResourceProperties:  # Update requires: Some interruptions → No interruptionmodified:   UseServiceLinkedRole: BooleanFn::GetAtt:added:   Id: String
modifiedAWS::Lambda::MicrovmImagehistorydocs ↗#Link to AWS::Lambda::MicrovmImage
Type: AWS::Lambda::MicrovmImageProperties:added:   KmsKeyIdentifier: String
modifiedAWS::MediaLive::Channelhistorydocs ↗#Link to AWS::MediaLive::Channel
Type: AWS::MediaLive::ChannelProperties:  EncoderSettings:    VideoDescriptions:      - CodecSettings:          Av1Settings:added:             FilterSettings:added:               AutoFilterSettings: {}added:               PerceptualFilterSettings:added:                 Strength: Stringadded:               NoneFilterSettings: {}          H264Settings:added:             AllowExplicitWeightedPrediction: String            FilterSettings:added:               AutoFilterSettings:  # AutoFilterSettings: see aboveadded:               NoneFilterSettings:  # NoneFilterSettings: see aboveadded:               PerceptualFilterSettings:  # PerceptualFilterSettings: see above          H265Settings:            FilterSettings:  # H264H265FilterSettings: see above
modifiedAWS::MediaTailor::Functionhistorydocs ↗#Link to AWS::MediaTailor::Function
Type: AWS::MediaTailor::FunctionProperties:  AwsServiceRequestConfiguration:added:     Cache:added:       TtlMinimumSeconds: Integeradded:       TtlMaximumSeconds: Integeradded:       Key: String  HttpRequestConfiguration:added:     Cache:  # HttpRequestCacheConfiguration: see above  VastRequestConfiguration:added:     Cache:  # HttpRequestCacheConfiguration: see above
modifiedAWS::Route53Profiles::ProfileAssociationhistorydocs ↗#Link to AWS::Route53Profiles::ProfileAssociation
Type: AWS::Route53Profiles::ProfileAssociationProperties:added:   Priority: Integer
modifiedAWS::SWF::Domainhistorydocs ↗#Link to AWS::SWF::Domain
Type: AWS::SWF::DomainFn::GetAtt:added:   Status: String
modifiedAWS::Timestream::InfluxDBClusterhistorydocs ↗#Link to AWS::Timestream::InfluxDBCluster
Type: AWS::Timestream::InfluxDBClusterProperties:added:   KmsKeyId: StringFn::GetAtt:added:   EffectiveDbParameterGroupIdentifier: Stringadded:   MemberCount: Integeradded:   MemberModeCounts:added:     - Mode: Stringadded:       Count: Integer
modifiedAWS::Timestream::InfluxDBInstancehistorydocs ↗#Link to AWS::Timestream::InfluxDBInstance
Type: AWS::Timestream::InfluxDBInstanceProperties:added:   KmsKeyId: StringFn::GetAtt:added:   DbClusterId: String
modifiedAWS::Transfer::Serverhistorydocs ↗#Link to AWS::Transfer::Server
Type: AWS::Transfer::ServerProperties:  ProtocolDetails:added:     SftpPorts:added:       - CommunicationMode: Stringadded:         SftpPort: Integer
modifiedAWS::Transfer::Workflowhistorydocs ↗#Link to AWS::Transfer::Workflow
Type: AWS::Transfer::WorkflowProperties:added:   StructuredLogDestinations:added:     - String
modifiedAWS::WAFv2::WebACLhistorydocs ↗#Link to AWS::WAFv2::WebACL
Type: AWS::WAFv2::WebACLProperties:  AssociationConfig:added:     ChallengeJavascriptSdkInjection:added:       <key>: Json