{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2022-07-26",
    "auth":[
      "aws.auth#sigv4a",
      "aws.auth#sigv4"
    ],
    "endpointPrefix":"partnercentral-prm",
    "protocol":"smithy-rpc-v2-cbor",
    "protocols":["smithy-rpc-v2-cbor"],
    "serviceFullName":"Partner Central Revenue Measurement API",
    "serviceId":"PartnerCentral Revenue Measurement",
    "signatureVersion":"v4",
    "signingName":"partnercentral",
    "targetPrefix":"PartnerCentralRevenueMeasurement",
    "uid":"partnercentral-revenue-measurement-2022-07-26"
  },
  "operations":{
    "CreateMarketplaceRevenueShare":{
      "name":"CreateMarketplaceRevenueShare",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CreateMarketplaceRevenueShareInput"},
      "output":{"shape":"CreateMarketplaceRevenueShareOutput"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Creates a new marketplace revenue share resource in the specified catalog.</p>",
      "idempotent":true
    },
    "CreateMarketplaceRevenueShareAllocation":{
      "name":"CreateMarketplaceRevenueShareAllocation",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CreateMarketplaceRevenueShareAllocationInput"},
      "output":{"shape":"CreateMarketplaceRevenueShareAllocationOutput"},
      "errors":[
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Creates a new marketplace revenue share allocation for the specified product.</p>",
      "idempotent":true
    },
    "CreateRevenueAttribution":{
      "name":"CreateRevenueAttribution",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CreateRevenueAttributionInput"},
      "output":{"shape":"CreateRevenueAttributionOutput"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Creates a new revenue attribution record in the specified catalog.</p>",
      "idempotent":true
    },
    "GetMarketplaceRevenueShare":{
      "name":"GetMarketplaceRevenueShare",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetMarketplaceRevenueShareInput"},
      "output":{"shape":"GetMarketplaceRevenueShareOutput"},
      "errors":[
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Retrieves the details of a specific marketplace revenue share.</p>",
      "readonly":true
    },
    "GetMarketplaceRevenueShareAllocation":{
      "name":"GetMarketplaceRevenueShareAllocation",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetMarketplaceRevenueShareAllocationInput"},
      "output":{"shape":"GetMarketplaceRevenueShareAllocationOutput"},
      "errors":[
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Retrieves the details of a specific marketplace revenue share allocation.</p>",
      "readonly":true
    },
    "GetRevenueAttribution":{
      "name":"GetRevenueAttribution",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetRevenueAttributionInput"},
      "output":{"shape":"GetRevenueAttributionOutput"},
      "errors":[
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Retrieves the details of a specific revenue attribution.</p>",
      "readonly":true
    },
    "GetRevenueAttributionAllocation":{
      "name":"GetRevenueAttributionAllocation",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetRevenueAttributionAllocationInput"},
      "output":{"shape":"GetRevenueAttributionAllocationOutput"},
      "errors":[
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Retrieves a single allocation by its RevenueAttributionAllocationId. Supports optional point-in-time version queries.</p>",
      "readonly":true
    },
    "GetRevenueAttributionAllocationsTask":{
      "name":"GetRevenueAttributionAllocationsTask",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetRevenueAttributionAllocationsTaskInput"},
      "output":{"shape":"GetRevenueAttributionAllocationsTaskOutput"},
      "errors":[
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Retrieves the current status of a previously submitted allocations task. When COMPLETE, includes the latest revision. When FAILED, includes error details.</p>",
      "readonly":true
    },
    "ListMarketplaceRevenueShareAllocations":{
      "name":"ListMarketplaceRevenueShareAllocations",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListMarketplaceRevenueShareAllocationsInput"},
      "output":{"shape":"ListMarketplaceRevenueShareAllocationsOutput"},
      "errors":[
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Returns a paginated list of allocations under a marketplace revenue share, with optional filtering by status and effective date range. Supports historical reads at a specific share revision.</p>",
      "readonly":true
    },
    "ListMarketplaceRevenueShares":{
      "name":"ListMarketplaceRevenueShares",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListMarketplaceRevenueSharesInput"},
      "output":{"shape":"ListMarketplaceRevenueSharesOutput"},
      "errors":[
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Returns a paginated list of marketplace revenue shares with optional filters.</p>",
      "readonly":true
    },
    "ListRevenueAttributionAllocations":{
      "name":"ListRevenueAttributionAllocations",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListRevenueAttributionAllocationsInput"},
      "output":{"shape":"ListRevenueAttributionAllocationsOutput"},
      "errors":[
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Returns a paginated list of committed allocations with support for filtering by entity, customer, status, or date range.</p>",
      "readonly":true
    },
    "ListRevenueAttributions":{
      "name":"ListRevenueAttributions",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListRevenueAttributionsInput"},
      "output":{"shape":"ListRevenueAttributionsOutput"},
      "errors":[
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Returns a paginated list of revenue attributions with optional filters.</p>",
      "readonly":true
    },
    "ListTagsForResource":{
      "name":"ListTagsForResource",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListTagsForResourceInput"},
      "output":{"shape":"ListTagsForResourceOutput"},
      "errors":[
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Returns the tags associated with the specified resource.</p>",
      "readonly":true
    },
    "StartRevenueAttributionAllocationsTask":{
      "name":"StartRevenueAttributionAllocationsTask",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"StartRevenueAttributionAllocationsTaskInput"},
      "output":{"shape":"StartRevenueAttributionAllocationsTaskOutput"},
      "errors":[
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Submits a batch of up to 250 allocation changes (CREATE and/or UPDATE) for asynchronous processing. Returns a TaskId for tracking.</p>",
      "idempotent":true
    },
    "TagResource":{
      "name":"TagResource",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"TagResourceInput"},
      "errors":[
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Adds or overwrites one or more tags for the specified resource.</p>"
    },
    "UntagResource":{
      "name":"UntagResource",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UntagResourceInput"},
      "errors":[
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Removes one or more tags from the specified resource.</p>"
    },
    "UpdateMarketplaceRevenueShareAllocation":{
      "name":"UpdateMarketplaceRevenueShareAllocation",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateMarketplaceRevenueShareAllocationInput"},
      "output":{"shape":"UpdateMarketplaceRevenueShareAllocationOutput"},
      "errors":[
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Updates an existing marketplace revenue share allocation. Supports modifying effective dates, revenue share percentage, and status with time-based mutability rules.</p>",
      "idempotent":true
    },
    "UpdateRevenueAttribution":{
      "name":"UpdateRevenueAttribution",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateRevenueAttributionInput"},
      "output":{"shape":"UpdateRevenueAttributionOutput"},
      "errors":[
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Updates an existing revenue attribution record.</p>",
      "idempotent":true
    }
  },
  "shapes":{
    "AccessDeniedException":{
      "type":"structure",
      "required":[
        "Message",
        "Reason"
      ],
      "members":{
        "Message":{"shape":"String"},
        "Reason":{
          "shape":"AccessDeniedExceptionReason",
          "documentation":"<p>The reason for the access denial.</p>"
        }
      },
      "documentation":"<p>The request was denied due to insufficient permissions.</p>",
      "error":{
        "httpStatusCode":403,
        "senderFault":true
      },
      "exception":true
    },
    "AccessDeniedExceptionReason":{
      "type":"string",
      "enum":["ACCESS_DENIED"]
    },
    "AllocationCount":{
      "type":"integer",
      "box":true,
      "min":0
    },
    "AllocationEffectiveDateString":{
      "type":"string",
      "max":10,
      "min":10,
      "pattern":"\\d{4}-\\d{2}-\\d{2}"
    },
    "AllocationStatus":{
      "type":"string",
      "enum":[
        "ACTIVE",
        "INACTIVE"
      ]
    },
    "AttributionSortBy":{
      "type":"string",
      "enum":["LastModifiedDate"]
    },
    "AttributionSummary":{
      "type":"structure",
      "required":["TenancyModel"],
      "members":{
        "Arn":{
          "shape":"String",
          "documentation":"<p>The Amazon Resource Name (ARN) of the revenue attribution.</p>"
        },
        "Id":{
          "shape":"RevenueAttributionId",
          "documentation":"<p>The unique identifier of the revenue attribution.</p>"
        },
        "Catalog":{
          "shape":"CatalogName",
          "documentation":"<p>The catalog that the revenue attribution belongs to.</p>"
        },
        "Name":{
          "shape":"AttributionSummaryNameString",
          "documentation":"<p>The display name of the revenue attribution.</p>"
        },
        "TenancyModel":{
          "shape":"TenancyModel",
          "documentation":"<p>The tenancy model for this revenue attribution.</p>"
        },
        "MarketplaceProduct":{
          "shape":"MarketplaceProductSummary",
          "documentation":"<p>The AWS Marketplace product attributes associated with this attribution, if set.</p>"
        },
        "CreatedDate":{
          "shape":"Timestamp",
          "documentation":"<p>The date when the revenue attribution was created.</p>"
        },
        "LastModifiedDate":{
          "shape":"Timestamp",
          "documentation":"<p>The date when the revenue attribution was last modified.</p>"
        },
        "LatestRevision":{
          "shape":"RevisionToken",
          "documentation":"<p>The latest revision of the revenue attribution resource.</p>"
        },
        "EffectiveFrom":{
          "shape":"AllocationEffectiveDateString",
          "documentation":"<p>The date from which this revenue attribution is effective, derived from the earliest allocation start date (YYYY-MM-DD).</p>"
        },
        "EffectiveUntil":{
          "shape":"AllocationEffectiveDateString",
          "documentation":"<p>The date until which this revenue attribution is effective, derived from the latest allocation end date (YYYY-MM-DD).</p>"
        },
        "TotalActiveRevenueAttributionAllocationCount":{
          "shape":"AllocationCount",
          "documentation":"<p>The total number of allocations under this revenue attribution whose Status is ACTIVE.</p>"
        },
        "TotalRevenueAttributionAllocationCount":{
          "shape":"AllocationCount",
          "documentation":"<p>The total number of allocations under this revenue attribution, counting both ACTIVE and INACTIVE.</p>"
        }
      },
      "documentation":"<p>Summary representation of a revenue attribution returned in list operations.</p>"
    },
    "AttributionSummaryNameString":{
      "type":"string",
      "max":128,
      "min":1
    },
    "CatalogName":{
      "type":"string",
      "enum":[
        "AWS",
        "Sandbox"
      ]
    },
    "ClientToken":{
      "type":"string",
      "max":64,
      "min":1,
      "pattern":"[!-~]{1,64}"
    },
    "ConflictException":{
      "type":"structure",
      "required":[
        "Message",
        "Reason"
      ],
      "members":{
        "Message":{"shape":"String"},
        "Reason":{
          "shape":"ConflictExceptionReason",
          "documentation":"<p>The reason for the conflict.</p>"
        }
      },
      "documentation":"<p>The request could not be completed due to a conflict with the current state of the resource.</p>",
      "error":{
        "httpStatusCode":409,
        "senderFault":true
      },
      "exception":true
    },
    "ConflictExceptionReason":{
      "type":"string",
      "enum":[
        "CONFLICT_CLIENT_TOKEN",
        "CONCURRENT_MODIFICATION",
        "RESOURCE_ALREADY_EXISTS",
        "REVISION_MISMATCH"
      ]
    },
    "CreateMarketplaceRevenueShareAllocationInput":{
      "type":"structure",
      "required":[
        "Catalog",
        "ProductId",
        "EffectiveFrom",
        "RevenueSharePercent"
      ],
      "members":{
        "Catalog":{
          "shape":"CatalogName",
          "documentation":"<p>The catalog in which to create the allocation.</p>"
        },
        "ProductId":{
          "shape":"MarketplaceProductId",
          "documentation":"<p>The AWS Marketplace product identifier for the parent revenue share.</p>"
        },
        "ClientToken":{
          "shape":"ClientToken",
          "documentation":"<p>A unique token to ensure idempotency of the create request.</p>",
          "idempotencyToken":true
        },
        "EffectiveFrom":{
          "shape":"AllocationEffectiveDateString",
          "documentation":"<p>The effective start date for the allocation. Must be the first day of a month.</p>"
        },
        "EffectiveUntil":{
          "shape":"AllocationEffectiveDateString",
          "documentation":"<p>The effective end date for the allocation. Must be the last day of a month (YYYY-MM-DD). Omit for open-ended allocations.</p>"
        },
        "RevenueSharePercent":{
          "shape":"RevenueSharePercent",
          "documentation":"<p>The revenue share percentage for this allocation.</p>"
        }
      }
    },
    "CreateMarketplaceRevenueShareAllocationOutput":{
      "type":"structure",
      "required":[
        "MarketplaceRevenueShareAllocationId",
        "ProductId",
        "Arn",
        "EffectiveFrom",
        "RevenueSharePercent",
        "Status"
      ],
      "members":{
        "MarketplaceRevenueShareAllocationId":{
          "shape":"MarketplaceRevenueShareAllocationId",
          "documentation":"<p>The unique identifier of the newly created allocation.</p>"
        },
        "ProductId":{
          "shape":"MarketplaceProductId",
          "documentation":"<p>The AWS Marketplace product identifier.</p>"
        },
        "ProductName":{
          "shape":"String",
          "documentation":"<p>The display name of the AWS Marketplace product.</p>"
        },
        "Arn":{
          "shape":"String",
          "documentation":"<p>The Amazon Resource Name (ARN) of the allocation.</p>"
        },
        "EffectiveFrom":{
          "shape":"AllocationEffectiveDateString",
          "documentation":"<p>The effective start date of the allocation.</p>"
        },
        "EffectiveUntil":{
          "shape":"AllocationEffectiveDateString",
          "documentation":"<p>The effective end date of the allocation, or null if open-ended.</p>"
        },
        "RevenueSharePercent":{
          "shape":"RevenueSharePercent",
          "documentation":"<p>The revenue share percentage.</p>"
        },
        "Status":{
          "shape":"AllocationStatus",
          "documentation":"<p>The status of the allocation.</p>"
        },
        "CreatedDate":{
          "shape":"Timestamp",
          "documentation":"<p>The date when the allocation was created.</p>"
        },
        "LastModifiedDate":{
          "shape":"Timestamp",
          "documentation":"<p>The date when the allocation was last modified.</p>"
        },
        "LatestMarketplaceRevenueShareRevision":{
          "shape":"RevisionToken",
          "documentation":"<p>The latest revision of the parent marketplace revenue share.</p>"
        }
      }
    },
    "CreateMarketplaceRevenueShareInput":{
      "type":"structure",
      "required":[
        "Catalog",
        "ProductId"
      ],
      "members":{
        "Catalog":{
          "shape":"CatalogName",
          "documentation":"<p>The catalog in which to create the marketplace revenue share.</p>"
        },
        "ClientToken":{
          "shape":"ClientToken",
          "documentation":"<p>A unique token to ensure idempotency of the create request.</p>",
          "idempotencyToken":true
        },
        "ProductId":{
          "shape":"MarketplaceProductId",
          "documentation":"<p>The AWS Marketplace product identifier for this revenue share.</p>"
        },
        "Tags":{
          "shape":"MarketplaceRevenueShareTagList",
          "documentation":"<p>Tags to associate with the marketplace revenue share upon creation.</p>"
        }
      }
    },
    "CreateMarketplaceRevenueShareOutput":{
      "type":"structure",
      "required":[
        "ProductId",
        "Arn"
      ],
      "members":{
        "ProductId":{
          "shape":"MarketplaceProductId",
          "documentation":"<p>The AWS Marketplace product identifier of the newly created revenue share.</p>"
        },
        "Arn":{
          "shape":"String",
          "documentation":"<p>The Amazon Resource Name (ARN) of the newly created marketplace revenue share.</p>"
        },
        "Catalog":{
          "shape":"CatalogName",
          "documentation":"<p>The catalog that the marketplace revenue share belongs to.</p>"
        },
        "ProductCode":{
          "shape":"String",
          "documentation":"<p>The AWS Marketplace product code.</p>"
        },
        "ProductName":{
          "shape":"String",
          "documentation":"<p>The display name of the AWS Marketplace product.</p>"
        },
        "CreatedDate":{
          "shape":"Timestamp",
          "documentation":"<p>The date when the marketplace revenue share was created.</p>"
        },
        "LastModifiedDate":{
          "shape":"Timestamp",
          "documentation":"<p>The date when the marketplace revenue share was last modified.</p>"
        },
        "Revision":{
          "shape":"CreateMarketplaceRevenueShareOutputRevisionInteger",
          "documentation":"<p>The revision number of the newly created marketplace revenue share.</p>"
        }
      }
    },
    "CreateMarketplaceRevenueShareOutputRevisionInteger":{
      "type":"integer",
      "box":true,
      "min":1
    },
    "CreateRevenueAttributionInput":{
      "type":"structure",
      "required":[
        "Catalog",
        "Name",
        "TenancyModel"
      ],
      "members":{
        "Catalog":{
          "shape":"CatalogName",
          "documentation":"<p>The catalog in which to create the revenue attribution.</p>"
        },
        "ClientToken":{
          "shape":"ClientToken",
          "documentation":"<p>A unique token to ensure idempotency of the create request.</p>",
          "idempotencyToken":true
        },
        "Name":{
          "shape":"CreateRevenueAttributionInputNameString",
          "documentation":"<p>The name of the revenue attribution. Must be unique within the catalog and the partner's account.</p>"
        },
        "Description":{
          "shape":"CreateRevenueAttributionInputDescriptionString",
          "documentation":"<p>A description of the revenue attribution.</p>"
        },
        "TenancyModel":{
          "shape":"TenancyModel",
          "documentation":"<p>The tenancy model for this revenue attribution.</p>"
        },
        "ProductIdentifier":{
          "shape":"CreateRevenueAttributionInputProductIdentifierString",
          "documentation":"<p>The unique product identifier in AWS Marketplace. Accepts a product entity ID (e.g., prod-abc123def4567) or a product ARN.</p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>Tags to associate with the revenue attribution upon creation.</p>"
        }
      }
    },
    "CreateRevenueAttributionInputDescriptionString":{
      "type":"string",
      "max":1024,
      "min":0,
      "pattern":"[\\x20-\\x7E]*"
    },
    "CreateRevenueAttributionInputNameString":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[\\x20-\\x7E]+"
    },
    "CreateRevenueAttributionInputProductIdentifierString":{
      "type":"string",
      "max":255,
      "min":1,
      "pattern":"[\\w\\-:/.]+"
    },
    "CreateRevenueAttributionOutput":{
      "type":"structure",
      "required":[
        "Id",
        "Arn",
        "TenancyModel"
      ],
      "members":{
        "Id":{
          "shape":"RevenueAttributionId",
          "documentation":"<p>The unique identifier of the newly created revenue attribution.</p>"
        },
        "Arn":{
          "shape":"String",
          "documentation":"<p>The Amazon Resource Name (ARN) of the newly created revenue attribution.</p>"
        },
        "Name":{
          "shape":"String",
          "documentation":"<p>The name of the revenue attribution.</p>"
        },
        "Description":{
          "shape":"String",
          "documentation":"<p>The description of the revenue attribution.</p>"
        },
        "TenancyModel":{
          "shape":"TenancyModel",
          "documentation":"<p>The tenancy model for this revenue attribution.</p>"
        },
        "MarketplaceProduct":{
          "shape":"MarketplaceProductSummary",
          "documentation":"<p>The associated AWS Marketplace product listing, if set at creation.</p>"
        },
        "Revision":{
          "shape":"RevisionToken",
          "documentation":"<p>The revision of the newly created attribution resource.</p>"
        }
      }
    },
    "CustomerAwsAccountId":{
      "type":"string",
      "max":12,
      "min":12,
      "pattern":"[0-9]{12}",
      "sensitive":true
    },
    "CustomerAwsAccountIdFilterList":{
      "type":"list",
      "member":{"shape":"CustomerAwsAccountId"},
      "max":50,
      "min":1
    },
    "EntityIdentifier":{
      "type":"string",
      "max":255,
      "min":1,
      "pattern":"[\\w\\-:/.]+"
    },
    "EntityIdentifierFilterList":{
      "type":"list",
      "member":{"shape":"EntityIdentifier"},
      "max":50,
      "min":1
    },
    "EntityType":{
      "type":"string",
      "enum":[
        "OFFER",
        "OPPORTUNITY"
      ]
    },
    "EntityTypeFilterList":{
      "type":"list",
      "member":{"shape":"EntityType"},
      "max":2,
      "min":1
    },
    "FieldValidationCode":{
      "type":"string",
      "enum":[
        "REQUIRED_FIELD_MISSING",
        "DUPLICATE_VALUE",
        "INVALID_VALUE",
        "INVALID_STRING_FORMAT",
        "TOO_MANY_VALUES",
        "ACTION_NOT_PERMITTED",
        "INVALID_ENUM_VALUE",
        "INVALID_NUMBER_FORMAT",
        "INVALID_STRING_LENGTH"
      ]
    },
    "GetMarketplaceRevenueShareAllocationInput":{
      "type":"structure",
      "required":[
        "Catalog",
        "ProductId",
        "MarketplaceRevenueShareAllocationId"
      ],
      "members":{
        "Catalog":{
          "shape":"CatalogName",
          "documentation":"<p>The catalog that the allocation belongs to.</p>"
        },
        "ProductId":{
          "shape":"MarketplaceProductId",
          "documentation":"<p>The AWS Marketplace product identifier of the parent revenue share.</p>"
        },
        "MarketplaceRevenueShareAllocationId":{
          "shape":"MarketplaceRevenueShareAllocationId",
          "documentation":"<p>The unique identifier of the allocation to retrieve.</p>"
        },
        "MarketplaceRevenueShareRevision":{
          "shape":"RevisionToken",
          "documentation":"<p>The revision of the parent marketplace revenue share at which to retrieve the allocation. Omit to return the latest.</p>"
        }
      }
    },
    "GetMarketplaceRevenueShareAllocationOutput":{
      "type":"structure",
      "required":[
        "MarketplaceRevenueShareAllocationId",
        "ProductId",
        "Arn",
        "EffectiveFrom",
        "RevenueSharePercent",
        "Status"
      ],
      "members":{
        "MarketplaceRevenueShareAllocationId":{
          "shape":"MarketplaceRevenueShareAllocationId",
          "documentation":"<p>The unique identifier of the allocation.</p>"
        },
        "ProductId":{
          "shape":"MarketplaceProductId",
          "documentation":"<p>The AWS Marketplace product identifier.</p>"
        },
        "ProductName":{
          "shape":"String",
          "documentation":"<p>The display name of the AWS Marketplace product.</p>"
        },
        "Arn":{
          "shape":"String",
          "documentation":"<p>The Amazon Resource Name (ARN) of the allocation.</p>"
        },
        "EffectiveFrom":{
          "shape":"AllocationEffectiveDateString",
          "documentation":"<p>The effective start date of the allocation.</p>"
        },
        "EffectiveUntil":{
          "shape":"AllocationEffectiveDateString",
          "documentation":"<p>The effective end date of the allocation, or null if open-ended.</p>"
        },
        "RevenueSharePercent":{
          "shape":"RevenueSharePercent",
          "documentation":"<p>The revenue share percentage.</p>"
        },
        "Status":{
          "shape":"AllocationStatus",
          "documentation":"<p>The status of the allocation.</p>"
        },
        "CreatedDate":{
          "shape":"Timestamp",
          "documentation":"<p>The date when the allocation was created.</p>"
        },
        "LastModifiedDate":{
          "shape":"Timestamp",
          "documentation":"<p>The date when the allocation was last modified.</p>"
        },
        "LatestMarketplaceRevenueShareRevision":{
          "shape":"RevisionToken",
          "documentation":"<p>The latest revision of the parent marketplace revenue share.</p>"
        }
      }
    },
    "GetMarketplaceRevenueShareInput":{
      "type":"structure",
      "required":[
        "Catalog",
        "ProductId"
      ],
      "members":{
        "Catalog":{
          "shape":"CatalogName",
          "documentation":"<p>The catalog that the marketplace revenue share belongs to.</p>"
        },
        "ProductId":{
          "shape":"MarketplaceProductId",
          "documentation":"<p>The AWS Marketplace product identifier of the revenue share to retrieve.</p>"
        },
        "Revision":{
          "shape":"GetMarketplaceRevenueShareInputRevisionInteger",
          "documentation":"<p>The revision of the marketplace revenue share to retrieve. Omit to return the latest revision.</p>"
        }
      }
    },
    "GetMarketplaceRevenueShareInputRevisionInteger":{
      "type":"integer",
      "box":true,
      "min":1
    },
    "GetMarketplaceRevenueShareOutput":{
      "type":"structure",
      "required":[
        "ProductId",
        "Arn",
        "Catalog"
      ],
      "members":{
        "ProductId":{
          "shape":"MarketplaceProductId",
          "documentation":"<p>The AWS Marketplace product identifier of the revenue share.</p>"
        },
        "Arn":{
          "shape":"String",
          "documentation":"<p>The Amazon Resource Name (ARN) of the marketplace revenue share.</p>"
        },
        "Catalog":{
          "shape":"CatalogName",
          "documentation":"<p>The catalog that the marketplace revenue share belongs to.</p>"
        },
        "ProductCode":{
          "shape":"String",
          "documentation":"<p>The AWS Marketplace product code.</p>"
        },
        "ProductName":{
          "shape":"String",
          "documentation":"<p>The display name of the AWS Marketplace product.</p>"
        },
        "CreatedDate":{
          "shape":"Timestamp",
          "documentation":"<p>The date when the marketplace revenue share was created.</p>"
        },
        "LastModifiedDate":{
          "shape":"Timestamp",
          "documentation":"<p>The date when the marketplace revenue share was last modified.</p>"
        },
        "Revision":{
          "shape":"GetMarketplaceRevenueShareOutputRevisionInteger",
          "documentation":"<p>The revision number of the retrieved marketplace revenue share.</p>"
        },
        "LatestRevision":{
          "shape":"GetMarketplaceRevenueShareOutputLatestRevisionInteger",
          "documentation":"<p>The latest revision number of the marketplace revenue share.</p>"
        },
        "TotalActiveMarketplaceRevenueShareAllocationCount":{
          "shape":"Integer",
          "documentation":"<p>The number of active allocations under this marketplace revenue share.</p>"
        },
        "TotalMarketplaceRevenueShareAllocationCount":{
          "shape":"Integer",
          "documentation":"<p>The total number of allocations under this marketplace revenue share.</p>"
        }
      }
    },
    "GetMarketplaceRevenueShareOutputLatestRevisionInteger":{
      "type":"integer",
      "box":true,
      "min":1
    },
    "GetMarketplaceRevenueShareOutputRevisionInteger":{
      "type":"integer",
      "box":true,
      "min":1
    },
    "GetRevenueAttributionAllocationInput":{
      "type":"structure",
      "required":[
        "Catalog",
        "RevenueAttributionIdentifier",
        "RevenueAttributionAllocationId"
      ],
      "members":{
        "Catalog":{
          "shape":"CatalogName",
          "documentation":"<p>The catalog that contains the resource.</p>"
        },
        "RevenueAttributionIdentifier":{
          "shape":"RevenueAttributionIdentifier",
          "documentation":"<p>The revenue attribution identifier.</p>"
        },
        "RevenueAttributionAllocationId":{
          "shape":"RevenueAttributionAllocationId",
          "documentation":"<p>The allocation identifier.</p>"
        },
        "RevenueAttributionRevision":{
          "shape":"RevisionToken",
          "documentation":"<p>Point-in-time revision number to query.</p>"
        }
      }
    },
    "GetRevenueAttributionAllocationOutput":{
      "type":"structure",
      "required":[
        "RevenueAttributionAllocationId",
        "RevenueAttributionIdentifier",
        "EntityType",
        "EntityIdentifier",
        "CustomerAwsAccountId",
        "RevenueSharePercent",
        "EffectiveFrom",
        "EffectiveUntil",
        "Status",
        "CreatedDate",
        "LastModifiedDate",
        "RevenueAttributionRevision",
        "RevenueAttributionLatestRevision"
      ],
      "members":{
        "RevenueAttributionAllocationId":{
          "shape":"RevenueAttributionAllocationId",
          "documentation":"<p>Unique allocation identifier.</p>"
        },
        "RevenueAttributionIdentifier":{
          "shape":"RevenueAttributionIdentifier",
          "documentation":"<p>The revenue attribution identifier.</p>"
        },
        "EntityType":{
          "shape":"EntityType",
          "documentation":"<p>The type of the associated deal entity.</p>"
        },
        "EntityIdentifier":{
          "shape":"EntityIdentifier",
          "documentation":"<p>The unique identifier of the associated deal entity.</p>"
        },
        "EntityName":{
          "shape":"String",
          "documentation":"<p>The display name of the associated deal entity.</p>"
        },
        "CustomerAwsAccountId":{
          "shape":"CustomerAwsAccountId",
          "documentation":"<p>The customer AWS account ID for this associated deal entity.</p>"
        },
        "RevenueSharePercent":{
          "shape":"RevenueSharePercent",
          "documentation":"<p>Revenue share percentage.</p>"
        },
        "EffectiveFrom":{
          "shape":"AllocationEffectiveDateString",
          "documentation":"<p>First day of the effective month.</p>"
        },
        "EffectiveUntil":{
          "shape":"AllocationEffectiveDateString",
          "documentation":"<p>Last day of the effective month.</p>"
        },
        "Status":{
          "shape":"AllocationStatus",
          "documentation":"<p>Current allocation status.</p>"
        },
        "CreatedDate":{
          "shape":"Timestamp",
          "documentation":"<p>When the allocation was first created.</p>"
        },
        "LastModifiedDate":{
          "shape":"Timestamp",
          "documentation":"<p>When the allocation was last modified.</p>"
        },
        "RevenueAttributionRevision":{
          "shape":"RevisionToken",
          "documentation":"<p>The revision of this allocation version.</p>"
        },
        "RevenueAttributionLatestRevision":{
          "shape":"RevisionToken",
          "documentation":"<p>The latest committed revision.</p>"
        }
      }
    },
    "GetRevenueAttributionAllocationsTaskInput":{
      "type":"structure",
      "required":[
        "Catalog",
        "RevenueAttributionIdentifier"
      ],
      "members":{
        "Catalog":{
          "shape":"CatalogName",
          "documentation":"<p>The catalog that contains the resource.</p>"
        },
        "RevenueAttributionIdentifier":{
          "shape":"RevenueAttributionIdentifier",
          "documentation":"<p>The revenue attribution identifier.</p>"
        }
      }
    },
    "GetRevenueAttributionAllocationsTaskOutput":{
      "type":"structure",
      "required":[
        "TaskId",
        "Status",
        "Catalog",
        "RevenueAttributionArn",
        "StartedAt",
        "TotalRevenueAttributionAllocationRecords"
      ],
      "members":{
        "TaskId":{
          "shape":"RevenueAttributionAllocationTaskId",
          "documentation":"<p>The unique identifier for the asynchronous task.</p>"
        },
        "Status":{
          "shape":"RevenueAttributionAllocationTaskStatus",
          "documentation":"<p>Current task status.</p>"
        },
        "Catalog":{
          "shape":"CatalogName",
          "documentation":"<p>The catalog used for this task.</p>"
        },
        "RevenueAttributionArn":{
          "shape":"String",
          "documentation":"<p>ARN of the revenue attribution resource.</p>"
        },
        "StartedAt":{
          "shape":"Timestamp",
          "documentation":"<p>When processing started.</p>"
        },
        "EndedAt":{
          "shape":"Timestamp",
          "documentation":"<p>When processing ended. Only present when COMPLETE or FAILED.</p>"
        },
        "TotalRevenueAttributionAllocationRecords":{
          "shape":"Integer",
          "documentation":"<p>Total revenue attribution allocation records in the batch.</p>"
        },
        "Description":{
          "shape":"String",
          "documentation":"<p>Human-readable description, if provided at creation.</p>"
        },
        "RevenueAttributionLatestRevision":{
          "shape":"RevisionToken",
          "documentation":"<p>The revision number assigned to this batch. Only present when COMPLETE.</p>"
        },
        "ErrorDetailList":{
          "shape":"RevenueAttributionAllocationErrorDetailList",
          "documentation":"<p>All errors discovered during async processing. Only present when FAILED.</p>"
        }
      }
    },
    "GetRevenueAttributionInput":{
      "type":"structure",
      "required":[
        "Catalog",
        "Identifier"
      ],
      "members":{
        "Catalog":{
          "shape":"CatalogName",
          "documentation":"<p>The catalog that the revenue attribution belongs to.</p>"
        },
        "Identifier":{
          "shape":"RevenueAttributionIdentifier",
          "documentation":"<p>The unique identifier of the revenue attribution to retrieve. Accepts a direct ID or ARN.</p>"
        },
        "Revision":{
          "shape":"RevisionToken",
          "documentation":"<p>The revision of the attribution to retrieve. Omit to return the latest revision.</p>"
        }
      }
    },
    "GetRevenueAttributionOutput":{
      "type":"structure",
      "required":[
        "Arn",
        "Id",
        "Catalog",
        "TenancyModel"
      ],
      "members":{
        "Arn":{
          "shape":"String",
          "documentation":"<p>The Amazon Resource Name (ARN) of the revenue attribution.</p>"
        },
        "Id":{
          "shape":"RevenueAttributionId",
          "documentation":"<p>The unique identifier of the revenue attribution.</p>"
        },
        "Catalog":{
          "shape":"CatalogName",
          "documentation":"<p>The catalog that the revenue attribution belongs to.</p>"
        },
        "Name":{
          "shape":"GetRevenueAttributionOutputNameString",
          "documentation":"<p>The display name of the revenue attribution.</p>"
        },
        "Description":{
          "shape":"GetRevenueAttributionOutputDescriptionString",
          "documentation":"<p>A description of the revenue attribution.</p>"
        },
        "TenancyModel":{
          "shape":"TenancyModel",
          "documentation":"<p>The tenancy model for this revenue attribution.</p>"
        },
        "MarketplaceProduct":{
          "shape":"MarketplaceProductSummary",
          "documentation":"<p>The associated AWS Marketplace product listing, if set.</p>"
        },
        "CreatedDate":{
          "shape":"Timestamp",
          "documentation":"<p>The date when the revenue attribution was created.</p>"
        },
        "LastModifiedDate":{
          "shape":"Timestamp",
          "documentation":"<p>The date when the revenue attribution was last modified.</p>"
        },
        "Revision":{
          "shape":"RevisionToken",
          "documentation":"<p>The revision of the retrieved attribution.</p>"
        },
        "LatestRevision":{
          "shape":"RevisionToken",
          "documentation":"<p>The latest revision of the attribution.</p>"
        },
        "EffectiveFrom":{
          "shape":"AllocationEffectiveDateString",
          "documentation":"<p>The date from which this revenue attribution is effective, derived from the earliest allocation start date (YYYY-MM-DD).</p>"
        },
        "EffectiveUntil":{
          "shape":"AllocationEffectiveDateString",
          "documentation":"<p>The date until which this revenue attribution is effective, derived from the latest allocation end date (YYYY-MM-DD).</p>"
        },
        "TotalActiveRevenueAttributionAllocationCount":{
          "shape":"AllocationCount",
          "documentation":"<p>The total number of allocations under this revenue attribution whose Status is ACTIVE.</p>"
        },
        "TotalRevenueAttributionAllocationCount":{
          "shape":"AllocationCount",
          "documentation":"<p>The total number of allocations under this revenue attribution, counting both ACTIVE and INACTIVE.</p>"
        }
      }
    },
    "GetRevenueAttributionOutputDescriptionString":{
      "type":"string",
      "max":1024,
      "min":0
    },
    "GetRevenueAttributionOutputNameString":{
      "type":"string",
      "max":128,
      "min":1
    },
    "Integer":{
      "type":"integer",
      "box":true
    },
    "InternalServerException":{
      "type":"structure",
      "required":["Message"],
      "members":{
        "Message":{"shape":"String"}
      },
      "documentation":"<p>An internal server error occurred. Retry your request.</p>",
      "error":{"httpStatusCode":500},
      "exception":true,
      "fault":true,
      "retryable":{"throttling":false}
    },
    "ListMarketplaceRevenueShareAllocationsInput":{
      "type":"structure",
      "required":[
        "Catalog",
        "ProductId"
      ],
      "members":{
        "Catalog":{
          "shape":"CatalogName",
          "documentation":"<p>The catalog containing the allocations.</p>"
        },
        "ProductId":{
          "shape":"MarketplaceProductId",
          "documentation":"<p>The AWS Marketplace product identifier for the parent revenue share.</p>"
        },
        "Status":{
          "shape":"AllocationStatus",
          "documentation":"<p>Filter by allocation status.</p>"
        },
        "AfterEffectiveFrom":{
          "shape":"AllocationEffectiveDateString",
          "documentation":"<p>Inclusive lower bound for EffectiveFrom date filter.</p>"
        },
        "BeforeEffectiveFrom":{
          "shape":"AllocationEffectiveDateString",
          "documentation":"<p>Exclusive upper bound for EffectiveFrom date filter (half-open range).</p>"
        },
        "SortBy":{
          "shape":"MarketplaceRevenueShareAllocationSortField",
          "documentation":"<p>The field to sort marketplace revenue share allocations by.</p>"
        },
        "SortOrder":{
          "shape":"SortOrder",
          "documentation":"<p>The direction to sort results. Defaults to DESCENDING.</p>"
        },
        "MaxResults":{
          "shape":"ListMarketplaceRevenueShareAllocationsInputMaxResultsInteger",
          "documentation":"<p>Maximum number of results per page.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>Pagination token from a previous response.</p>"
        },
        "MarketplaceRevenueShareRevision":{
          "shape":"RevisionToken",
          "documentation":"<p>Optional share revision for historical list. Returns allocations as they existed at this revision.</p>"
        }
      }
    },
    "ListMarketplaceRevenueShareAllocationsInputMaxResultsInteger":{
      "type":"integer",
      "box":true,
      "max":100,
      "min":1
    },
    "ListMarketplaceRevenueShareAllocationsOutput":{
      "type":"structure",
      "required":["MarketplaceRevenueShareAllocationSummaries"],
      "members":{
        "MarketplaceRevenueShareAllocationSummaries":{
          "shape":"MarketplaceRevenueShareAllocationSummaryList",
          "documentation":"<p>The list of allocation summaries for the current page.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>Pagination token for the next page. Absent if no more results.</p>"
        }
      }
    },
    "ListMarketplaceRevenueSharesInput":{
      "type":"structure",
      "required":["Catalog"],
      "members":{
        "Catalog":{
          "shape":"CatalogName",
          "documentation":"<p>The catalog to list marketplace revenue shares from.</p>"
        },
        "ProductIds":{
          "shape":"MarketplaceProductIdList",
          "documentation":"<p>Filter results to only include shares with these product identifiers.</p>"
        },
        "ProductCodes":{
          "shape":"ProductCodeList",
          "documentation":"<p>Filter results to only include shares with these product codes.</p>"
        },
        "MaxResults":{
          "shape":"ListMarketplaceRevenueSharesInputMaxResultsInteger",
          "documentation":"<p>The maximum number of results to return in a single call.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>Token for pagination. Use the value returned in the previous response to retrieve the next page.</p>"
        },
        "SortBy":{
          "shape":"MarketplaceRevenueShareSortBy",
          "documentation":"<p>The field to sort marketplace revenue shares by.</p>"
        },
        "SortOrder":{
          "shape":"SortOrder",
          "documentation":"<p>The direction to sort results.</p>"
        },
        "CreatedAfter":{
          "shape":"Timestamp",
          "documentation":"<p>Filter results to only include marketplace revenue shares created after this timestamp.</p>"
        },
        "CreatedBefore":{
          "shape":"Timestamp",
          "documentation":"<p>Filter results to only include marketplace revenue shares created before this timestamp.</p>"
        }
      }
    },
    "ListMarketplaceRevenueSharesInputMaxResultsInteger":{
      "type":"integer",
      "box":true,
      "max":100,
      "min":1
    },
    "ListMarketplaceRevenueSharesOutput":{
      "type":"structure",
      "required":["MarketplaceRevenueShareSummaries"],
      "members":{
        "MarketplaceRevenueShareSummaries":{
          "shape":"MarketplaceRevenueShareSummaryList",
          "documentation":"<p>The list of marketplace revenue share summaries.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>Token for pagination. Present if there are more results available.</p>"
        }
      }
    },
    "ListRevenueAttributionAllocationsInput":{
      "type":"structure",
      "required":[
        "Catalog",
        "RevenueAttributionIdentifier"
      ],
      "members":{
        "Catalog":{
          "shape":"CatalogName",
          "documentation":"<p>The catalog that contains the resource.</p>"
        },
        "RevenueAttributionIdentifier":{
          "shape":"RevenueAttributionIdentifier",
          "documentation":"<p>The revenue attribution identifier to query.</p>"
        },
        "EntityTypeFilters":{
          "shape":"EntityTypeFilterList",
          "documentation":"<p>Filter by deal entity types.</p>"
        },
        "EntityIdentifierFilters":{
          "shape":"EntityIdentifierFilterList",
          "documentation":"<p>Filter by deal entity identifiers.</p>"
        },
        "CustomerAwsAccountIdFilters":{
          "shape":"CustomerAwsAccountIdFilterList",
          "documentation":"<p>Filter by customer AWS account IDs for associated deal entities.</p>"
        },
        "StatusFilter":{
          "shape":"AllocationStatus",
          "documentation":"<p>Filter by allocation status.</p>"
        },
        "AfterEffectiveFrom":{
          "shape":"AllocationEffectiveDateString",
          "documentation":"<p>Inclusive lower bound for EffectiveFrom date filter.</p>"
        },
        "BeforeEffectiveFrom":{
          "shape":"AllocationEffectiveDateString",
          "documentation":"<p>Exclusive upper bound for EffectiveFrom date filter (half-open range).</p>"
        },
        "AfterEffectiveUntil":{
          "shape":"AllocationEffectiveDateString",
          "documentation":"<p>Inclusive lower bound for EffectiveUntil date filter.</p>"
        },
        "BeforeEffectiveUntil":{
          "shape":"AllocationEffectiveDateString",
          "documentation":"<p>Exclusive upper bound for EffectiveUntil date filter (half-open range).</p>"
        },
        "SortBy":{
          "shape":"RevenueAttributionAllocationSortField",
          "documentation":"<p>Field to sort by.</p>"
        },
        "SortOrder":{
          "shape":"SortOrder",
          "documentation":"<p>Sort direction. Defaults to ASCENDING.</p>"
        },
        "RevenueAttributionRevision":{
          "shape":"RevisionToken",
          "documentation":"<p>Point-in-time revision number to query.</p>"
        },
        "MaxResults":{
          "shape":"ListRevenueAttributionAllocationsInputMaxResultsInteger",
          "documentation":"<p>Maximum results per page.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>Pagination token from previous response.</p>"
        }
      }
    },
    "ListRevenueAttributionAllocationsInputMaxResultsInteger":{
      "type":"integer",
      "box":true,
      "max":500,
      "min":1
    },
    "ListRevenueAttributionAllocationsOutput":{
      "type":"structure",
      "required":["RevenueAttributionAllocationSummaries"],
      "members":{
        "RevenueAttributionAllocationSummaries":{
          "shape":"RevenueAttributionAllocationSummaryList",
          "documentation":"<p>Paginated list of allocations matching filters.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>Token for next page. Absent if no more results.</p>"
        }
      }
    },
    "ListRevenueAttributionsInput":{
      "type":"structure",
      "required":["Catalog"],
      "members":{
        "Catalog":{
          "shape":"CatalogName",
          "documentation":"<p>The catalog to list revenue attributions from.</p>"
        },
        "Identifiers":{
          "shape":"RevenueAttributionIdentifierList",
          "documentation":"<p>Filter results to only include revenue attributions with the specified identifiers.</p>"
        },
        "CreatedAfter":{
          "shape":"Timestamp",
          "documentation":"<p>Filter results to only include revenue attributions created after this timestamp.</p>"
        },
        "CreatedBefore":{
          "shape":"Timestamp",
          "documentation":"<p>Filter results to only include revenue attributions created before this timestamp.</p>"
        },
        "SortBy":{
          "shape":"AttributionSortBy",
          "documentation":"<p>The field to sort revenue attributions by.</p>"
        },
        "SortOrder":{
          "shape":"SortOrder",
          "documentation":"<p>The direction to sort results.</p>"
        },
        "MaxResults":{
          "shape":"ListRevenueAttributionsInputMaxResultsInteger",
          "documentation":"<p>The maximum number of results to return in a single call.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>Token for pagination. Use the value returned in the previous response to retrieve the next page.</p>"
        }
      }
    },
    "ListRevenueAttributionsInputMaxResultsInteger":{
      "type":"integer",
      "box":true,
      "max":100,
      "min":1
    },
    "ListRevenueAttributionsOutput":{
      "type":"structure",
      "members":{
        "RevenueAttributionSummaries":{
          "shape":"RevenueAttributionSummaries",
          "documentation":"<p>The list of revenue attribution summaries.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>Token for pagination. Present if there are more results available.</p>"
        }
      }
    },
    "ListTagsForResourceInput":{
      "type":"structure",
      "required":["resourceArn"],
      "members":{
        "resourceArn":{
          "shape":"ResourceARN",
          "documentation":"<p>The Amazon Resource Name (ARN) of the resource to list tags for.</p>"
        }
      }
    },
    "ListTagsForResourceOutput":{
      "type":"structure",
      "members":{
        "tags":{
          "shape":"TagList",
          "documentation":"<p>The tags associated with the resource.</p>"
        }
      }
    },
    "MarketplaceProductId":{
      "type":"string",
      "max":18,
      "min":18,
      "pattern":"prod-[a-z0-9]{13}"
    },
    "MarketplaceProductIdList":{
      "type":"list",
      "member":{"shape":"MarketplaceProductId"},
      "max":10,
      "min":1
    },
    "MarketplaceProductSummary":{
      "type":"structure",
      "members":{
        "ProductId":{
          "shape":"MarketplaceProductSummaryProductIdString",
          "documentation":"<p>The product identifier provided at attribution creation.</p>"
        },
        "ProductCode":{
          "shape":"String",
          "documentation":"<p>The AWS Marketplace product code resolved using the product identifier.</p>"
        },
        "ProductName":{
          "shape":"String",
          "documentation":"<p>The display name of the AWS Marketplace product.</p>"
        }
      },
      "documentation":"<p>Read-time AWS Marketplace product attributes returned in revenue attribution responses, including service-resolved fields.</p>"
    },
    "MarketplaceProductSummaryProductIdString":{
      "type":"string",
      "max":255,
      "min":1,
      "pattern":"[\\w\\-:/.]+"
    },
    "MarketplaceRevenueShareAllocationId":{
      "type":"string",
      "max":18,
      "min":18,
      "pattern":"mrsa-[A-Za-z0-9]{13}"
    },
    "MarketplaceRevenueShareAllocationSortField":{
      "type":"string",
      "enum":["EffectiveFrom"]
    },
    "MarketplaceRevenueShareAllocationSummary":{
      "type":"structure",
      "required":[
        "MarketplaceRevenueShareAllocationId",
        "ProductId",
        "Arn",
        "EffectiveFrom",
        "RevenueSharePercent",
        "Status"
      ],
      "members":{
        "MarketplaceRevenueShareAllocationId":{
          "shape":"MarketplaceRevenueShareAllocationId",
          "documentation":"<p>The unique identifier of the allocation.</p>"
        },
        "ProductId":{
          "shape":"MarketplaceProductId",
          "documentation":"<p>The AWS Marketplace product identifier.</p>"
        },
        "ProductName":{
          "shape":"String",
          "documentation":"<p>The display name of the AWS Marketplace product.</p>"
        },
        "Arn":{
          "shape":"String",
          "documentation":"<p>The Amazon Resource Name (ARN) of the parent marketplace revenue share.</p>"
        },
        "EffectiveFrom":{
          "shape":"AllocationEffectiveDateString",
          "documentation":"<p>The effective start date of the allocation.</p>"
        },
        "EffectiveUntil":{
          "shape":"AllocationEffectiveDateString",
          "documentation":"<p>The effective end date of the allocation, or null if open-ended.</p>"
        },
        "RevenueSharePercent":{
          "shape":"RevenueSharePercent",
          "documentation":"<p>The revenue share percentage.</p>"
        },
        "Status":{
          "shape":"AllocationStatus",
          "documentation":"<p>The status of the allocation.</p>"
        },
        "CreatedDate":{
          "shape":"Timestamp",
          "documentation":"<p>The date when the allocation was created.</p>"
        },
        "LastModifiedDate":{
          "shape":"Timestamp",
          "documentation":"<p>The date when the allocation was last modified.</p>"
        }
      },
      "documentation":"<p>Summary information about a marketplace revenue share allocation.</p>"
    },
    "MarketplaceRevenueShareAllocationSummaryList":{
      "type":"list",
      "member":{"shape":"MarketplaceRevenueShareAllocationSummary"}
    },
    "MarketplaceRevenueShareSortBy":{
      "type":"string",
      "enum":["LastModifiedDate"]
    },
    "MarketplaceRevenueShareSummary":{
      "type":"structure",
      "required":[
        "ProductId",
        "Arn"
      ],
      "members":{
        "ProductId":{
          "shape":"MarketplaceProductId",
          "documentation":"<p>The AWS Marketplace product identifier.</p>"
        },
        "Arn":{
          "shape":"String",
          "documentation":"<p>The Amazon Resource Name (ARN) of the marketplace revenue share.</p>"
        },
        "Catalog":{
          "shape":"CatalogName",
          "documentation":"<p>The catalog that the marketplace revenue share belongs to.</p>"
        },
        "ProductCode":{
          "shape":"String",
          "documentation":"<p>The AWS Marketplace product code.</p>"
        },
        "ProductName":{
          "shape":"String",
          "documentation":"<p>The display name of the AWS Marketplace product.</p>"
        },
        "CreatedDate":{
          "shape":"Timestamp",
          "documentation":"<p>The date when the marketplace revenue share was created.</p>"
        },
        "LastModifiedDate":{
          "shape":"Timestamp",
          "documentation":"<p>The date when the marketplace revenue share was last modified.</p>"
        },
        "LatestRevision":{
          "shape":"Integer",
          "documentation":"<p>The latest revision number of the marketplace revenue share.</p>"
        },
        "TotalActiveMarketplaceRevenueShareAllocationCount":{
          "shape":"Integer",
          "documentation":"<p>The number of active allocations under this share.</p>"
        },
        "TotalMarketplaceRevenueShareAllocationCount":{
          "shape":"Integer",
          "documentation":"<p>The total number of allocations under this share.</p>"
        }
      },
      "documentation":"<p>Summary information about a marketplace revenue share.</p>"
    },
    "MarketplaceRevenueShareSummaryList":{
      "type":"list",
      "member":{"shape":"MarketplaceRevenueShareSummary"}
    },
    "MarketplaceRevenueShareTagList":{
      "type":"list",
      "member":{"shape":"Tag"},
      "max":50,
      "min":0
    },
    "NextToken":{
      "type":"string",
      "max":2048,
      "min":1,
      "pattern":"[\\S]+"
    },
    "ProductCodeList":{
      "type":"list",
      "member":{"shape":"String"},
      "max":10,
      "min":1
    },
    "ResourceARN":{
      "type":"string",
      "max":1011,
      "min":1,
      "pattern":"arn:aws:partnercentral:[a-z0-9-]+:[0-9]{12}:catalog/[a-zA-Z]+/(revenue-attribution/[a-zA-Z0-9-]+|marketplace-revenue-share/prod-[a-z0-9]{13})"
    },
    "ResourceNotFoundException":{
      "type":"structure",
      "required":[
        "Message",
        "Reason"
      ],
      "members":{
        "Message":{"shape":"String"},
        "Reason":{
          "shape":"ResourceNotFoundExceptionReason",
          "documentation":"<p>The reason the resource was not found.</p>"
        }
      },
      "documentation":"<p>The specified resource was not found.</p>",
      "error":{
        "httpStatusCode":404,
        "senderFault":true
      },
      "exception":true
    },
    "ResourceNotFoundExceptionReason":{
      "type":"string",
      "enum":["RESOURCE_NOT_FOUND"]
    },
    "RevenueAttributionAllocationAction":{
      "type":"string",
      "enum":[
        "CREATE",
        "UPDATE"
      ]
    },
    "RevenueAttributionAllocationErrorCode":{
      "type":"string",
      "enum":[
        "ALLOCATION_CAP_EXCEEDED",
        "RESOURCE_NOT_FOUND",
        "IMMUTABLE_ALLOCATION",
        "ACCESS_DENIED",
        "INVALID_VALUE",
        "CONCURRENT_MODIFICATION",
        "INTERNAL_ERROR"
      ]
    },
    "RevenueAttributionAllocationErrorDetail":{
      "type":"structure",
      "required":[
        "EntityType",
        "EntityId",
        "CustomerAwsAccountId",
        "EffectiveFrom",
        "EffectiveUntil",
        "Action",
        "ErrorCode",
        "ErrorMessage"
      ],
      "members":{
        "RevenueAttributionAllocationId":{
          "shape":"RevenueAttributionAllocationId",
          "documentation":"<p>The allocation identifier. Present for UPDATE actions; absent for CREATE actions.</p>"
        },
        "EntityType":{
          "shape":"EntityType",
          "documentation":"<p>The deal entity type of the failing record.</p>"
        },
        "EntityId":{
          "shape":"EntityIdentifier",
          "documentation":"<p>The deal entity identifier of the failing record.</p>"
        },
        "CustomerAwsAccountId":{
          "shape":"CustomerAwsAccountId",
          "documentation":"<p>The customer AWS account ID of the failing record.</p>"
        },
        "EffectiveFrom":{
          "shape":"AllocationEffectiveDateString",
          "documentation":"<p>Effective start date of the failing record.</p>"
        },
        "EffectiveUntil":{
          "shape":"AllocationEffectiveDateString",
          "documentation":"<p>Effective end date of the failing record.</p>"
        },
        "Action":{
          "shape":"RevenueAttributionAllocationAction",
          "documentation":"<p>The action that was attempted.</p>"
        },
        "ErrorCode":{
          "shape":"RevenueAttributionAllocationErrorCode",
          "documentation":"<p>Machine-readable error code.</p>"
        },
        "ErrorMessage":{
          "shape":"String",
          "documentation":"<p>Human-readable error description.</p>"
        }
      },
      "documentation":"<p>Details of a validation error for a single revenue attribution allocation record.</p>"
    },
    "RevenueAttributionAllocationErrorDetailList":{
      "type":"list",
      "member":{"shape":"RevenueAttributionAllocationErrorDetail"}
    },
    "RevenueAttributionAllocationId":{
      "type":"string",
      "max":19,
      "min":19,
      "pattern":"alloc-[a-z0-9]{13}"
    },
    "RevenueAttributionAllocationSortField":{
      "type":"string",
      "enum":["EffectiveFrom"]
    },
    "RevenueAttributionAllocationSummary":{
      "type":"structure",
      "required":[
        "RevenueAttributionAllocationId",
        "RevenueAttributionIdentifier",
        "EntityType",
        "EntityIdentifier",
        "CustomerAwsAccountId",
        "RevenueSharePercent",
        "EffectiveFrom",
        "EffectiveUntil",
        "Status"
      ],
      "members":{
        "RevenueAttributionAllocationId":{
          "shape":"RevenueAttributionAllocationId",
          "documentation":"<p>Unique allocation identifier.</p>"
        },
        "RevenueAttributionIdentifier":{
          "shape":"RevenueAttributionIdentifier",
          "documentation":"<p>The revenue attribution identifier.</p>"
        },
        "EntityType":{
          "shape":"EntityType",
          "documentation":"<p>The type of the associated deal entity.</p>"
        },
        "EntityIdentifier":{
          "shape":"EntityIdentifier",
          "documentation":"<p>The unique identifier of the associated deal entity.</p>"
        },
        "EntityName":{
          "shape":"String",
          "documentation":"<p>The display name of the associated deal entity.</p>"
        },
        "CustomerAwsAccountId":{
          "shape":"CustomerAwsAccountId",
          "documentation":"<p>The customer AWS account ID for this associated deal entity.</p>"
        },
        "RevenueSharePercent":{
          "shape":"RevenueSharePercent",
          "documentation":"<p>Revenue share percentage.</p>"
        },
        "EffectiveFrom":{
          "shape":"AllocationEffectiveDateString",
          "documentation":"<p>First day of the effective month.</p>"
        },
        "EffectiveUntil":{
          "shape":"AllocationEffectiveDateString",
          "documentation":"<p>Last day of the effective month.</p>"
        },
        "Status":{
          "shape":"AllocationStatus",
          "documentation":"<p>Current allocation status.</p>"
        }
      },
      "documentation":"<p>Summary information about a revenue attribution allocation.</p>"
    },
    "RevenueAttributionAllocationSummaryList":{
      "type":"list",
      "member":{"shape":"RevenueAttributionAllocationSummary"}
    },
    "RevenueAttributionAllocationTaskId":{
      "type":"string",
      "max":21,
      "min":21,
      "pattern":"raatask-[a-z0-9]{13}"
    },
    "RevenueAttributionAllocationTaskStatus":{
      "type":"string",
      "enum":[
        "IN_PROGRESS",
        "COMPLETE",
        "FAILED"
      ]
    },
    "RevenueAttributionId":{
      "type":"string",
      "max":1011,
      "min":16,
      "pattern":"(arn:[a-z-]+:partnercentral:[a-z0-9-]+:[0-9]{12}:catalog/[a-zA-Z]+/revenue-attribution/ra-[a-z0-9]{13}|ra-[a-z0-9]{13})"
    },
    "RevenueAttributionIdentifier":{
      "type":"string",
      "max":1011,
      "min":16,
      "pattern":"(arn:[a-z-]+:partnercentral:[a-z0-9-]+:[0-9]{12}:catalog/[a-zA-Z]+/revenue-attribution/ra-[a-z0-9]{13}|ra-[a-z0-9]{13})"
    },
    "RevenueAttributionIdentifierList":{
      "type":"list",
      "member":{"shape":"RevenueAttributionIdentifier"},
      "max":100,
      "min":1
    },
    "RevenueAttributionSummaries":{
      "type":"list",
      "member":{"shape":"AttributionSummary"}
    },
    "RevenueShareAllocation":{
      "type":"structure",
      "required":[
        "Action",
        "EntityType",
        "EntityIdentifier",
        "CustomerAwsAccountId",
        "RevenueSharePercent",
        "EffectiveFrom",
        "EffectiveUntil"
      ],
      "members":{
        "Action":{
          "shape":"RevenueAttributionAllocationAction",
          "documentation":"<p>The operation type: CREATE or UPDATE.</p>"
        },
        "RevenueAttributionAllocationId":{
          "shape":"RevenueAttributionAllocationId",
          "documentation":"<p>The allocation to update. Required when Action is UPDATE.</p>"
        },
        "EntityType":{
          "shape":"EntityType",
          "documentation":"<p>The type of the associated deal entity.</p>"
        },
        "EntityIdentifier":{
          "shape":"EntityIdentifier",
          "documentation":"<p>The unique identifier of the associated deal entity.</p>"
        },
        "CustomerAwsAccountId":{
          "shape":"CustomerAwsAccountId",
          "documentation":"<p>The customer AWS account ID for this associated deal entity.</p>"
        },
        "RevenueSharePercent":{
          "shape":"RevenueSharePercent",
          "documentation":"<p>Revenue share percentage.</p>"
        },
        "EffectiveFrom":{
          "shape":"AllocationEffectiveDateString",
          "documentation":"<p>The effective start date for this allocation.</p>"
        },
        "EffectiveUntil":{
          "shape":"AllocationEffectiveDateString",
          "documentation":"<p>The effective end date for this allocation.</p>"
        },
        "Status":{
          "shape":"AllocationStatus",
          "documentation":"<p>Allocation status. Defaults to ACTIVE on CREATE.</p>"
        }
      },
      "documentation":"<p>A single allocation change within a batch request.</p>"
    },
    "RevenueShareAllocationChangeList":{
      "type":"list",
      "member":{"shape":"RevenueShareAllocation"},
      "max":250,
      "min":1
    },
    "RevenueSharePercent":{
      "type":"string",
      "max":6,
      "min":1,
      "pattern":"\\d{1,3}(\\.\\d{1,2})?"
    },
    "RevisionToken":{
      "type":"string",
      "max":19,
      "min":1,
      "pattern":"[1-9][0-9]*"
    },
    "ServiceQuotaExceededException":{
      "type":"structure",
      "required":[
        "Message",
        "Reason"
      ],
      "members":{
        "Message":{"shape":"String"},
        "Reason":{
          "shape":"ServiceQuotaExceededExceptionReason",
          "documentation":"<p>The reason the service quota was exceeded.</p>"
        }
      },
      "documentation":"<p>The request would exceed a service quota limit.</p>",
      "error":{
        "httpStatusCode":402,
        "senderFault":true
      },
      "exception":true
    },
    "ServiceQuotaExceededExceptionReason":{
      "type":"string",
      "enum":[
        "ATTRIBUTION_LIMIT_EXCEEDED",
        "TAG_LIMIT_EXCEEDED"
      ]
    },
    "SortOrder":{
      "type":"string",
      "enum":[
        "ASCENDING",
        "DESCENDING"
      ]
    },
    "StartRevenueAttributionAllocationsTaskInput":{
      "type":"structure",
      "required":[
        "Catalog",
        "RevenueAttributionIdentifier",
        "RevenueAttributionRevision",
        "RevenueShareAllocations"
      ],
      "members":{
        "Catalog":{
          "shape":"CatalogName",
          "documentation":"<p>The catalog context for this operation.</p>"
        },
        "RevenueAttributionIdentifier":{
          "shape":"RevenueAttributionIdentifier",
          "documentation":"<p>The revenue attribution identifier.</p>"
        },
        "RevenueAttributionRevision":{
          "shape":"RevisionToken",
          "documentation":"<p>Current revision of the revenue attribution for optimistic locking.</p>"
        },
        "RevenueShareAllocations":{
          "shape":"RevenueShareAllocationChangeList",
          "documentation":"<p>The list of allocation changes to process in this batch.</p>"
        },
        "ClientToken":{
          "shape":"ClientToken",
          "documentation":"<p>Idempotency token for deduplication and retry.</p>",
          "idempotencyToken":true
        },
        "Description":{
          "shape":"StartRevenueAttributionAllocationsTaskInputDescriptionString",
          "documentation":"<p>Human-readable description of the batch.</p>"
        }
      }
    },
    "StartRevenueAttributionAllocationsTaskInputDescriptionString":{
      "type":"string",
      "max":1024,
      "min":0,
      "pattern":"[\\x20-\\x7E]*"
    },
    "StartRevenueAttributionAllocationsTaskOutput":{
      "type":"structure",
      "required":[
        "TaskId",
        "Status",
        "Catalog",
        "RevenueAttributionArn",
        "StartedAt",
        "TotalRevenueAttributionAllocationRecords"
      ],
      "members":{
        "TaskId":{
          "shape":"RevenueAttributionAllocationTaskId",
          "documentation":"<p>Unique identifier for the submitted task.</p>"
        },
        "Status":{
          "shape":"RevenueAttributionAllocationTaskStatus",
          "documentation":"<p>Initial task status. Always IN_PROGRESS on successful submission.</p>"
        },
        "Catalog":{
          "shape":"CatalogName",
          "documentation":"<p>The catalog used for this task.</p>"
        },
        "RevenueAttributionArn":{
          "shape":"String",
          "documentation":"<p>ARN of the revenue attribution resource.</p>"
        },
        "StartedAt":{
          "shape":"Timestamp",
          "documentation":"<p>When processing started.</p>"
        },
        "TotalRevenueAttributionAllocationRecords":{
          "shape":"Integer",
          "documentation":"<p>Total revenue attribution allocation records in the batch.</p>"
        }
      }
    },
    "String":{"type":"string"},
    "Tag":{
      "type":"structure",
      "required":[
        "Key",
        "Value"
      ],
      "members":{
        "Key":{
          "shape":"TagKey",
          "documentation":"<p>The key portion of the tag.</p>"
        },
        "Value":{
          "shape":"TagValue",
          "documentation":"<p>The value portion of the tag.</p>"
        }
      },
      "documentation":"<p>A key-value pair used for organizing and managing resources through metadata tags.</p>"
    },
    "TagKey":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[^\\x00-\\x1F\\x7F]+"
    },
    "TagKeyList":{
      "type":"list",
      "member":{"shape":"TagKey"}
    },
    "TagList":{
      "type":"list",
      "member":{"shape":"Tag"},
      "max":200,
      "min":1
    },
    "TagResourceInput":{
      "type":"structure",
      "required":[
        "resourceArn",
        "tags"
      ],
      "members":{
        "resourceArn":{
          "shape":"ResourceARN",
          "documentation":"<p>The Amazon Resource Name (ARN) of the resource to tag.</p>"
        },
        "tags":{
          "shape":"TagList",
          "documentation":"<p>The tags to add to the resource.</p>"
        }
      }
    },
    "TagValue":{
      "type":"string",
      "max":256,
      "min":0,
      "pattern":"[^\\x00-\\x1F\\x7F]*"
    },
    "TenancyModel":{
      "type":"string",
      "enum":[
        "MULTI_TENANT",
        "SINGLE_TENANT"
      ]
    },
    "ThrottlingException":{
      "type":"structure",
      "required":["Message"],
      "members":{
        "Message":{"shape":"String"},
        "ServiceCode":{
          "shape":"String",
          "documentation":"<p>The service code associated with the throttling error.</p>"
        },
        "QuotaCode":{
          "shape":"String",
          "documentation":"<p>The quota code associated with the throttling error.</p>"
        }
      },
      "documentation":"<p>The request was throttled due to too many requests. Retry your request.</p>",
      "error":{
        "httpStatusCode":429,
        "senderFault":true
      },
      "exception":true,
      "retryable":{"throttling":false}
    },
    "Timestamp":{"type":"timestamp"},
    "UntagResourceInput":{
      "type":"structure",
      "required":[
        "resourceArn",
        "tagKeys"
      ],
      "members":{
        "resourceArn":{
          "shape":"ResourceARN",
          "documentation":"<p>The Amazon Resource Name (ARN) of the resource to remove tags from.</p>"
        },
        "tagKeys":{
          "shape":"TagKeyList",
          "documentation":"<p>The tag keys to remove from the resource.</p>"
        }
      }
    },
    "UpdateMarketplaceRevenueShareAllocationInput":{
      "type":"structure",
      "required":[
        "Catalog",
        "ProductId",
        "MarketplaceRevenueShareAllocationId",
        "MarketplaceRevenueShareRevision"
      ],
      "members":{
        "Catalog":{
          "shape":"CatalogName",
          "documentation":"<p>The catalog containing the allocation.</p>"
        },
        "ProductId":{
          "shape":"MarketplaceProductId",
          "documentation":"<p>The AWS Marketplace product identifier for the parent revenue share.</p>"
        },
        "MarketplaceRevenueShareAllocationId":{
          "shape":"MarketplaceRevenueShareAllocationId",
          "documentation":"<p>The identifier of the allocation to update.</p>"
        },
        "MarketplaceRevenueShareRevision":{
          "shape":"RevisionToken",
          "documentation":"<p>The current revision of the parent share. Must match for optimistic concurrency control.</p>"
        },
        "ClientToken":{
          "shape":"ClientToken",
          "documentation":"<p>A unique token to ensure idempotency of the update request.</p>",
          "idempotencyToken":true
        },
        "EffectiveFrom":{
          "shape":"AllocationEffectiveDateString",
          "documentation":"<p>The new effective start date. Must be the first day of a month. Only modifiable on future-dated allocations.</p>"
        },
        "EffectiveUntil":{
          "shape":"AllocationEffectiveDateString",
          "documentation":"<p>The new effective end date. Must be the last day of a month and on or after today.</p>"
        },
        "RevenueSharePercent":{
          "shape":"RevenueSharePercent",
          "documentation":"<p>The new revenue share percentage. Only modifiable on future-dated allocations.</p>"
        },
        "Status":{
          "shape":"AllocationStatus",
          "documentation":"<p>The new status. Set to INACTIVE for soft-delete. Only modifiable on future-dated allocations.</p>"
        }
      }
    },
    "UpdateMarketplaceRevenueShareAllocationOutput":{
      "type":"structure",
      "required":[
        "MarketplaceRevenueShareAllocationId",
        "ProductId",
        "Arn",
        "EffectiveFrom",
        "RevenueSharePercent",
        "Status"
      ],
      "members":{
        "MarketplaceRevenueShareAllocationId":{
          "shape":"MarketplaceRevenueShareAllocationId",
          "documentation":"<p>The unique identifier of the updated allocation.</p>"
        },
        "ProductId":{
          "shape":"MarketplaceProductId",
          "documentation":"<p>The AWS Marketplace product identifier.</p>"
        },
        "ProductName":{
          "shape":"String",
          "documentation":"<p>The display name of the AWS Marketplace product.</p>"
        },
        "Arn":{
          "shape":"String",
          "documentation":"<p>The Amazon Resource Name (ARN) of the parent marketplace revenue share.</p>"
        },
        "EffectiveFrom":{
          "shape":"AllocationEffectiveDateString",
          "documentation":"<p>The effective start date of the allocation.</p>"
        },
        "EffectiveUntil":{
          "shape":"AllocationEffectiveDateString",
          "documentation":"<p>The effective end date of the allocation, or null if open-ended.</p>"
        },
        "RevenueSharePercent":{
          "shape":"RevenueSharePercent",
          "documentation":"<p>The revenue share percentage.</p>"
        },
        "Status":{
          "shape":"AllocationStatus",
          "documentation":"<p>The status of the allocation.</p>"
        },
        "CreatedDate":{
          "shape":"Timestamp",
          "documentation":"<p>The date when the allocation was created.</p>"
        },
        "LastModifiedDate":{
          "shape":"Timestamp",
          "documentation":"<p>The date when the allocation was last modified.</p>"
        },
        "LatestMarketplaceRevenueShareRevision":{
          "shape":"RevisionToken",
          "documentation":"<p>The latest revision of the parent marketplace revenue share after the update.</p>"
        }
      }
    },
    "UpdateRevenueAttributionInput":{
      "type":"structure",
      "required":[
        "Catalog",
        "Identifier",
        "Revision"
      ],
      "members":{
        "Catalog":{
          "shape":"CatalogName",
          "documentation":"<p>The catalog that the revenue attribution belongs to.</p>"
        },
        "Identifier":{
          "shape":"RevenueAttributionIdentifier",
          "documentation":"<p>The unique identifier of the revenue attribution to update. Accepts a direct ID or ARN.</p>"
        },
        "ClientToken":{
          "shape":"ClientToken",
          "documentation":"<p>A unique token to ensure idempotency of the update request.</p>",
          "idempotencyToken":true
        },
        "Description":{
          "shape":"UpdateRevenueAttributionInputDescriptionString",
          "documentation":"<p>The updated description of the revenue attribution.</p>"
        },
        "Revision":{
          "shape":"RevisionToken",
          "documentation":"<p>The current revision of the revenue attribution. Must match the server's current value.</p>"
        }
      }
    },
    "UpdateRevenueAttributionInputDescriptionString":{
      "type":"string",
      "max":1024,
      "min":0,
      "pattern":"[\\x20-\\x7E]*"
    },
    "UpdateRevenueAttributionOutput":{
      "type":"structure",
      "required":[
        "Id",
        "Arn",
        "LastModifiedDate"
      ],
      "members":{
        "Id":{
          "shape":"RevenueAttributionId",
          "documentation":"<p>The unique identifier of the updated revenue attribution.</p>"
        },
        "Arn":{
          "shape":"String",
          "documentation":"<p>The Amazon Resource Name (ARN) of the updated revenue attribution.</p>"
        },
        "Description":{
          "shape":"String",
          "documentation":"<p>The updated description of the revenue attribution.</p>"
        },
        "LastModifiedDate":{
          "shape":"Timestamp",
          "documentation":"<p>The date when the attribution was last modified.</p>"
        },
        "LatestRevision":{
          "shape":"RevisionToken",
          "documentation":"<p>The latest revision of the attribution after the update.</p>"
        }
      }
    },
    "ValidationException":{
      "type":"structure",
      "required":[
        "Message",
        "Reason"
      ],
      "members":{
        "Message":{"shape":"String"},
        "Reason":{
          "shape":"ValidationExceptionReason",
          "documentation":"<p>The reason for the validation failure.</p>"
        },
        "FieldList":{
          "shape":"ValidationExceptionFieldList",
          "documentation":"<p>A list of fields that failed validation.</p>"
        }
      },
      "documentation":"<p>The request failed validation due to invalid input parameters.</p>",
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "ValidationExceptionField":{
      "type":"structure",
      "required":[
        "Name",
        "Message",
        "Code"
      ],
      "members":{
        "Name":{
          "shape":"String",
          "documentation":"<p>The name of the field that failed validation.</p>"
        },
        "Message":{
          "shape":"String",
          "documentation":"<p>A human-readable message describing why the field validation failed.</p>"
        },
        "Code":{
          "shape":"FieldValidationCode",
          "documentation":"<p>The specific validation error code indicating the type of validation failure.</p>"
        }
      },
      "documentation":"<p>Details about a specific field that failed validation.</p>"
    },
    "ValidationExceptionFieldList":{
      "type":"list",
      "member":{"shape":"ValidationExceptionField"}
    },
    "ValidationExceptionReason":{
      "type":"string",
      "enum":[
        "REQUEST_VALIDATION_FAILED",
        "BUSINESS_VALIDATION_FAILED"
      ]
    }
  },
  "documentation":"<p>AWS Partner Central Revenue Measurement API for creating, managing, and tracking revenue attributions and their allocations with deal entities such as offers and opportunities.</p>"
}
