{
    "smithy": "2.0",
    "shapes": {
        "com.amazonaws.licensemanagerlinuxsubscriptions#BoxInteger": {
            "type": "integer"
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#BoxLong": {
            "type": "long"
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#DeregisterSubscriptionProvider": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.licensemanagerlinuxsubscriptions#DeregisterSubscriptionProviderRequest"
            },
            "output": {
                "target": "com.amazonaws.licensemanagerlinuxsubscriptions#DeregisterSubscriptionProviderResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#InternalServerException"
                },
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Remove a third-party subscription provider from the Bring Your Own License (BYOL) subscriptions \n\t\t\tregistered to your account.</p>",
                "smithy.api#http": {
                    "code": 200,
                    "method": "POST",
                    "uri": "/subscription/DeregisterSubscriptionProvider"
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#DeregisterSubscriptionProviderRequest": {
            "type": "structure",
            "members": {
                "SubscriptionProviderArn": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the subscription provider resource to deregister.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#input": {}
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#DeregisterSubscriptionProviderResponse": {
            "type": "structure",
            "members": {},
            "traits": {
                "smithy.api#output": {}
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#Filter": {
            "type": "structure",
            "members": {
                "Name": {
                    "target": "smithy.api#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The type of name to filter by.</p>"
                    }
                },
                "Values": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#StringList",
                    "traits": {
                        "smithy.api#documentation": "<p>One or more values for the name to filter by.</p>"
                    }
                },
                "Operator": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#Operator",
                    "traits": {
                        "smithy.api#documentation": "<p>An operator for filtering results.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>A filter object that is used to return more specific results from a describe operation.\n      Filters can be used to match a set of resources by specific criteria.</p>"
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#FilterList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.licensemanagerlinuxsubscriptions#Filter"
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#GetRegisteredSubscriptionProvider": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.licensemanagerlinuxsubscriptions#GetRegisteredSubscriptionProviderRequest"
            },
            "output": {
                "target": "com.amazonaws.licensemanagerlinuxsubscriptions#GetRegisteredSubscriptionProviderResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#InternalServerException"
                },
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Get details for a Bring Your Own License (BYOL) subscription that's registered to your account.</p>",
                "smithy.api#http": {
                    "code": 200,
                    "method": "POST",
                    "uri": "/subscription/GetRegisteredSubscriptionProvider"
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#GetRegisteredSubscriptionProviderRequest": {
            "type": "structure",
            "members": {
                "SubscriptionProviderArn": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the BYOL registration resource to get details for.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#input": {}
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#GetRegisteredSubscriptionProviderResponse": {
            "type": "structure",
            "members": {
                "SubscriptionProviderArn": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) for the BYOL registration resource specified in the request.</p>"
                    }
                },
                "SubscriptionProviderSource": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderSource",
                    "traits": {
                        "smithy.api#documentation": "<p>The subscription provider for the BYOL registration resource specified \n\t\t\tin the request.</p>"
                    }
                },
                "SecretArn": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SecretArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the third-party access secret stored in Secrets Manager for the BYOL \n\t\t\tregistration resource specified in the request.</p>"
                    }
                },
                "SubscriptionProviderStatus": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of the Linux subscription provider access token from the last \n\t\t\tsuccessful subscription data request.</p>"
                    }
                },
                "SubscriptionProviderStatusMessage": {
                    "target": "smithy.api#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The detailed message from your subscription provider token status.</p>"
                    }
                },
                "LastSuccessfulDataRetrievalTime": {
                    "target": "smithy.api#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The timestamp from the last time License Manager retrieved subscription details \n\t\t\tfrom your registered third-party Linux subscription provider.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#output": {}
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#GetServiceSettings": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.licensemanagerlinuxsubscriptions#GetServiceSettingsRequest"
            },
            "output": {
                "target": "com.amazonaws.licensemanagerlinuxsubscriptions#GetServiceSettingsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#InternalServerException"
                },
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Lists the Linux subscriptions service settings for your account.</p>",
                "smithy.api#http": {
                    "code": 200,
                    "method": "POST",
                    "uri": "/subscription/GetServiceSettings"
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#GetServiceSettingsRequest": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#GetServiceSettingsResponse": {
            "type": "structure",
            "members": {
                "LinuxSubscriptionsDiscovery": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#LinuxSubscriptionsDiscovery",
                    "traits": {
                        "smithy.api#documentation": "<p>Lists if discovery has been enabled for Linux subscriptions.</p>"
                    }
                },
                "LinuxSubscriptionsDiscoverySettings": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#LinuxSubscriptionsDiscoverySettings",
                    "traits": {
                        "smithy.api#documentation": "<p>Lists the settings defined for Linux subscriptions discovery. The settings include if\n      Organizations integration has been enabled, and which Regions data will be aggregated from.</p>"
                    }
                },
                "Status": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#Status",
                    "traits": {
                        "smithy.api#documentation": "<p>Indicates the status of Linux subscriptions settings being applied.</p>"
                    }
                },
                "StatusMessage": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#StringMap",
                    "traits": {
                        "smithy.api#documentation": "<p>A message which details the Linux subscriptions service settings current status.</p>"
                    }
                },
                "HomeRegions": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#StringList",
                    "traits": {
                        "smithy.api#documentation": "<p>The Region in which License Manager displays the aggregated data for Linux\n      subscriptions.</p>"
                    }
                }
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#Instance": {
            "type": "structure",
            "members": {
                "AmiId": {
                    "target": "smithy.api#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The AMI ID used to launch the instance.</p>"
                    }
                },
                "InstanceID": {
                    "target": "smithy.api#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The instance ID of the resource.</p>"
                    }
                },
                "InstanceType": {
                    "target": "smithy.api#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The instance type of the resource.</p>"
                    }
                },
                "AccountID": {
                    "target": "smithy.api#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The account ID which owns the instance.</p>"
                    }
                },
                "Status": {
                    "target": "smithy.api#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of the instance.</p>"
                    }
                },
                "Region": {
                    "target": "smithy.api#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The Region the instance is running in.</p>"
                    }
                },
                "UsageOperation": {
                    "target": "smithy.api#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The usage operation of the instance. For more information, see For more information, see\n        <a href=\"https://docs.aws.amazon.com/license-manager/latest/userguide/linux-subscriptions-usage-operation.html\">Usage\n        operation values</a> in the <i>License Manager User Guide</i>.</p>"
                    }
                },
                "ProductCode": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ProductCodeList",
                    "traits": {
                        "smithy.api#documentation": "<p>The product code for the instance. For more information, see <a href=\"https://docs.aws.amazon.com/license-manager/latest/userguide/linux-subscriptions-usage-operation.html\">Usage\n        operation values</a> in the <i>License Manager User Guide</i> .</p>"
                    }
                },
                "LastUpdatedTime": {
                    "target": "smithy.api#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The time in which the last discovery updated the instance details.</p>"
                    }
                },
                "SubscriptionName": {
                    "target": "smithy.api#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the license subscription that the instance uses.</p>"
                    }
                },
                "OsVersion": {
                    "target": "smithy.api#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The operating system software version that runs on your instance.</p>"
                    }
                },
                "SubscriptionProviderCreateTime": {
                    "target": "smithy.api#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The timestamp when you registered the third-party Linux subscription \n\t\t\tprovider for the subscription that the instance uses.</p>"
                    }
                },
                "SubscriptionProviderUpdateTime": {
                    "target": "smithy.api#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The timestamp from the last time that the instance synced with the registered \n\t\t\tthird-party Linux subscription provider.</p>"
                    }
                },
                "DualSubscription": {
                    "target": "smithy.api#String",
                    "traits": {
                        "smithy.api#documentation": "<p>Indicates that you have two different license subscriptions for \n\t\t\tthe same software on your instance.</p>"
                    }
                },
                "RegisteredWithSubscriptionProvider": {
                    "target": "smithy.api#String",
                    "traits": {
                        "smithy.api#documentation": "<p>Indicates that your instance uses a BYOL license subscription from \n\t\t\ta third-party Linux subscription provider that you've registered with License Manager.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Details discovered information about a running instance using Linux subscriptions.</p>"
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#InstanceList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.licensemanagerlinuxsubscriptions#Instance"
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#InternalServerException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "smithy.api#String"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>An exception occurred with the service.</p>",
                "smithy.api#error": "server"
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#LicenseManagerLinuxSubscriptions": {
            "type": "service",
            "version": "2018-05-10",
            "operations": [
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#DeregisterSubscriptionProvider"
                },
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#GetRegisteredSubscriptionProvider"
                },
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#GetServiceSettings"
                },
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ListLinuxSubscriptionInstances"
                },
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ListLinuxSubscriptions"
                },
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ListRegisteredSubscriptionProviders"
                },
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ListTagsForResource"
                },
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#RegisterSubscriptionProvider"
                },
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#TagResource"
                },
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#UntagResource"
                },
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#UpdateServiceSettings"
                }
            ],
            "traits": {
                "aws.api#service": {
                    "sdkId": "License Manager Linux Subscriptions",
                    "arnNamespace": "license-manager-linux-subscriptions",
                    "cloudTrailEventSource": "license-manager-linux-subscriptions.amazonaws.com"
                },
                "aws.auth#sigv4": {
                    "name": "license-manager-linux-subscriptions"
                },
                "aws.protocols#restJson1": {},
                "smithy.api#cors": {
                    "additionalAllowedHeaders": [
                        "*",
                        "content-type",
                        "x-amz-content-sha256",
                        "x-amz-user-agent",
                        "x-amzn-platform-id",
                        "x-amzn-trace-id"
                    ],
                    "additionalExposedHeaders": [
                        "x-amzn-errortype",
                        "x-amzn-requestid",
                        "x-amzn-trace-id"
                    ]
                },
                "smithy.api#documentation": "<p>With License Manager, you can discover and track your commercial Linux subscriptions on running\n      Amazon EC2 instances.</p>",
                "smithy.api#title": "AWS License Manager Linux Subscriptions",
                "smithy.rules#endpointRuleSet": {
                    "version": "1.0",
                    "parameters": {
                        "Region": {
                            "builtIn": "AWS::Region",
                            "required": false,
                            "documentation": "The AWS region used to dispatch the request.",
                            "type": "string"
                        },
                        "UseDualStack": {
                            "builtIn": "AWS::UseDualStack",
                            "required": true,
                            "default": false,
                            "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.",
                            "type": "boolean"
                        },
                        "UseFIPS": {
                            "builtIn": "AWS::UseFIPS",
                            "required": true,
                            "default": false,
                            "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.",
                            "type": "boolean"
                        },
                        "Endpoint": {
                            "builtIn": "SDK::Endpoint",
                            "required": false,
                            "documentation": "Override the endpoint used to send this request",
                            "type": "string"
                        }
                    },
                    "rules": [
                        {
                            "conditions": [
                                {
                                    "fn": "isSet",
                                    "argv": [
                                        {
                                            "ref": "Endpoint"
                                        }
                                    ]
                                }
                            ],
                            "rules": [
                                {
                                    "conditions": [
                                        {
                                            "fn": "booleanEquals",
                                            "argv": [
                                                {
                                                    "ref": "UseFIPS"
                                                },
                                                true
                                            ]
                                        }
                                    ],
                                    "error": "Invalid Configuration: FIPS and custom endpoint are not supported",
                                    "type": "error"
                                },
                                {
                                    "conditions": [],
                                    "rules": [
                                        {
                                            "conditions": [
                                                {
                                                    "fn": "booleanEquals",
                                                    "argv": [
                                                        {
                                                            "ref": "UseDualStack"
                                                        },
                                                        true
                                                    ]
                                                }
                                            ],
                                            "error": "Invalid Configuration: Dualstack and custom endpoint are not supported",
                                            "type": "error"
                                        },
                                        {
                                            "conditions": [],
                                            "endpoint": {
                                                "url": {
                                                    "ref": "Endpoint"
                                                },
                                                "properties": {},
                                                "headers": {}
                                            },
                                            "type": "endpoint"
                                        }
                                    ],
                                    "type": "tree"
                                }
                            ],
                            "type": "tree"
                        },
                        {
                            "conditions": [],
                            "rules": [
                                {
                                    "conditions": [
                                        {
                                            "fn": "isSet",
                                            "argv": [
                                                {
                                                    "ref": "Region"
                                                }
                                            ]
                                        }
                                    ],
                                    "rules": [
                                        {
                                            "conditions": [
                                                {
                                                    "fn": "aws.partition",
                                                    "argv": [
                                                        {
                                                            "ref": "Region"
                                                        }
                                                    ],
                                                    "assign": "PartitionResult"
                                                }
                                            ],
                                            "rules": [
                                                {
                                                    "conditions": [
                                                        {
                                                            "fn": "booleanEquals",
                                                            "argv": [
                                                                {
                                                                    "ref": "UseFIPS"
                                                                },
                                                                true
                                                            ]
                                                        },
                                                        {
                                                            "fn": "booleanEquals",
                                                            "argv": [
                                                                {
                                                                    "ref": "UseDualStack"
                                                                },
                                                                true
                                                            ]
                                                        }
                                                    ],
                                                    "rules": [
                                                        {
                                                            "conditions": [
                                                                {
                                                                    "fn": "booleanEquals",
                                                                    "argv": [
                                                                        true,
                                                                        {
                                                                            "fn": "getAttr",
                                                                            "argv": [
                                                                                {
                                                                                    "ref": "PartitionResult"
                                                                                },
                                                                                "supportsFIPS"
                                                                            ]
                                                                        }
                                                                    ]
                                                                },
                                                                {
                                                                    "fn": "booleanEquals",
                                                                    "argv": [
                                                                        true,
                                                                        {
                                                                            "fn": "getAttr",
                                                                            "argv": [
                                                                                {
                                                                                    "ref": "PartitionResult"
                                                                                },
                                                                                "supportsDualStack"
                                                                            ]
                                                                        }
                                                                    ]
                                                                }
                                                            ],
                                                            "rules": [
                                                                {
                                                                    "conditions": [],
                                                                    "rules": [
                                                                        {
                                                                            "conditions": [],
                                                                            "endpoint": {
                                                                                "url": "https://license-manager-linux-subscriptions-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",
                                                                                "properties": {},
                                                                                "headers": {}
                                                                            },
                                                                            "type": "endpoint"
                                                                        }
                                                                    ],
                                                                    "type": "tree"
                                                                }
                                                            ],
                                                            "type": "tree"
                                                        },
                                                        {
                                                            "conditions": [],
                                                            "error": "FIPS and DualStack are enabled, but this partition does not support one or both",
                                                            "type": "error"
                                                        }
                                                    ],
                                                    "type": "tree"
                                                },
                                                {
                                                    "conditions": [
                                                        {
                                                            "fn": "booleanEquals",
                                                            "argv": [
                                                                {
                                                                    "ref": "UseFIPS"
                                                                },
                                                                true
                                                            ]
                                                        }
                                                    ],
                                                    "rules": [
                                                        {
                                                            "conditions": [
                                                                {
                                                                    "fn": "booleanEquals",
                                                                    "argv": [
                                                                        {
                                                                            "fn": "getAttr",
                                                                            "argv": [
                                                                                {
                                                                                    "ref": "PartitionResult"
                                                                                },
                                                                                "supportsFIPS"
                                                                            ]
                                                                        },
                                                                        true
                                                                    ]
                                                                }
                                                            ],
                                                            "rules": [
                                                                {
                                                                    "conditions": [],
                                                                    "rules": [
                                                                        {
                                                                            "conditions": [],
                                                                            "endpoint": {
                                                                                "url": "https://license-manager-linux-subscriptions-fips.{Region}.{PartitionResult#dnsSuffix}",
                                                                                "properties": {},
                                                                                "headers": {}
                                                                            },
                                                                            "type": "endpoint"
                                                                        }
                                                                    ],
                                                                    "type": "tree"
                                                                }
                                                            ],
                                                            "type": "tree"
                                                        },
                                                        {
                                                            "conditions": [],
                                                            "error": "FIPS is enabled but this partition does not support FIPS",
                                                            "type": "error"
                                                        }
                                                    ],
                                                    "type": "tree"
                                                },
                                                {
                                                    "conditions": [
                                                        {
                                                            "fn": "booleanEquals",
                                                            "argv": [
                                                                {
                                                                    "ref": "UseDualStack"
                                                                },
                                                                true
                                                            ]
                                                        }
                                                    ],
                                                    "rules": [
                                                        {
                                                            "conditions": [
                                                                {
                                                                    "fn": "booleanEquals",
                                                                    "argv": [
                                                                        true,
                                                                        {
                                                                            "fn": "getAttr",
                                                                            "argv": [
                                                                                {
                                                                                    "ref": "PartitionResult"
                                                                                },
                                                                                "supportsDualStack"
                                                                            ]
                                                                        }
                                                                    ]
                                                                }
                                                            ],
                                                            "rules": [
                                                                {
                                                                    "conditions": [],
                                                                    "rules": [
                                                                        {
                                                                            "conditions": [],
                                                                            "endpoint": {
                                                                                "url": "https://license-manager-linux-subscriptions.{Region}.{PartitionResult#dualStackDnsSuffix}",
                                                                                "properties": {},
                                                                                "headers": {}
                                                                            },
                                                                            "type": "endpoint"
                                                                        }
                                                                    ],
                                                                    "type": "tree"
                                                                }
                                                            ],
                                                            "type": "tree"
                                                        },
                                                        {
                                                            "conditions": [],
                                                            "error": "DualStack is enabled but this partition does not support DualStack",
                                                            "type": "error"
                                                        }
                                                    ],
                                                    "type": "tree"
                                                },
                                                {
                                                    "conditions": [],
                                                    "rules": [
                                                        {
                                                            "conditions": [],
                                                            "endpoint": {
                                                                "url": "https://license-manager-linux-subscriptions.{Region}.{PartitionResult#dnsSuffix}",
                                                                "properties": {},
                                                                "headers": {}
                                                            },
                                                            "type": "endpoint"
                                                        }
                                                    ],
                                                    "type": "tree"
                                                }
                                            ],
                                            "type": "tree"
                                        }
                                    ],
                                    "type": "tree"
                                },
                                {
                                    "conditions": [],
                                    "error": "Invalid Configuration: Missing Region",
                                    "type": "error"
                                }
                            ],
                            "type": "tree"
                        }
                    ]
                },
                "smithy.rules#endpointTests": {
                    "testCases": [
                        {
                            "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled",
                            "expect": {
                                "endpoint": {
                                    "url": "https://license-manager-linux-subscriptions-fips.us-east-1.api.aws"
                                }
                            },
                            "params": {
                                "Region": "us-east-1",
                                "UseFIPS": true,
                                "UseDualStack": true
                            }
                        },
                        {
                            "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled",
                            "expect": {
                                "endpoint": {
                                    "url": "https://license-manager-linux-subscriptions-fips.us-east-1.amazonaws.com"
                                }
                            },
                            "params": {
                                "Region": "us-east-1",
                                "UseFIPS": true,
                                "UseDualStack": false
                            }
                        },
                        {
                            "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled",
                            "expect": {
                                "endpoint": {
                                    "url": "https://license-manager-linux-subscriptions.us-east-1.api.aws"
                                }
                            },
                            "params": {
                                "Region": "us-east-1",
                                "UseFIPS": false,
                                "UseDualStack": true
                            }
                        },
                        {
                            "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled",
                            "expect": {
                                "endpoint": {
                                    "url": "https://license-manager-linux-subscriptions.us-east-1.amazonaws.com"
                                }
                            },
                            "params": {
                                "Region": "us-east-1",
                                "UseFIPS": false,
                                "UseDualStack": false
                            }
                        },
                        {
                            "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled",
                            "expect": {
                                "endpoint": {
                                    "url": "https://license-manager-linux-subscriptions-fips.cn-north-1.api.amazonwebservices.com.cn"
                                }
                            },
                            "params": {
                                "Region": "cn-north-1",
                                "UseFIPS": true,
                                "UseDualStack": true
                            }
                        },
                        {
                            "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled",
                            "expect": {
                                "endpoint": {
                                    "url": "https://license-manager-linux-subscriptions-fips.cn-north-1.amazonaws.com.cn"
                                }
                            },
                            "params": {
                                "Region": "cn-north-1",
                                "UseFIPS": true,
                                "UseDualStack": false
                            }
                        },
                        {
                            "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled",
                            "expect": {
                                "endpoint": {
                                    "url": "https://license-manager-linux-subscriptions.cn-north-1.api.amazonwebservices.com.cn"
                                }
                            },
                            "params": {
                                "Region": "cn-north-1",
                                "UseFIPS": false,
                                "UseDualStack": true
                            }
                        },
                        {
                            "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled",
                            "expect": {
                                "endpoint": {
                                    "url": "https://license-manager-linux-subscriptions.cn-north-1.amazonaws.com.cn"
                                }
                            },
                            "params": {
                                "Region": "cn-north-1",
                                "UseFIPS": false,
                                "UseDualStack": false
                            }
                        },
                        {
                            "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled",
                            "expect": {
                                "endpoint": {
                                    "url": "https://license-manager-linux-subscriptions-fips.us-gov-east-1.api.aws"
                                }
                            },
                            "params": {
                                "Region": "us-gov-east-1",
                                "UseFIPS": true,
                                "UseDualStack": true
                            }
                        },
                        {
                            "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled",
                            "expect": {
                                "endpoint": {
                                    "url": "https://license-manager-linux-subscriptions-fips.us-gov-east-1.amazonaws.com"
                                }
                            },
                            "params": {
                                "Region": "us-gov-east-1",
                                "UseFIPS": true,
                                "UseDualStack": false
                            }
                        },
                        {
                            "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled",
                            "expect": {
                                "endpoint": {
                                    "url": "https://license-manager-linux-subscriptions.us-gov-east-1.api.aws"
                                }
                            },
                            "params": {
                                "Region": "us-gov-east-1",
                                "UseFIPS": false,
                                "UseDualStack": true
                            }
                        },
                        {
                            "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled",
                            "expect": {
                                "endpoint": {
                                    "url": "https://license-manager-linux-subscriptions.us-gov-east-1.amazonaws.com"
                                }
                            },
                            "params": {
                                "Region": "us-gov-east-1",
                                "UseFIPS": false,
                                "UseDualStack": false
                            }
                        },
                        {
                            "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled",
                            "expect": {
                                "endpoint": {
                                    "url": "https://license-manager-linux-subscriptions-fips.us-iso-east-1.c2s.ic.gov"
                                }
                            },
                            "params": {
                                "Region": "us-iso-east-1",
                                "UseFIPS": true,
                                "UseDualStack": false
                            }
                        },
                        {
                            "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled",
                            "expect": {
                                "endpoint": {
                                    "url": "https://license-manager-linux-subscriptions.us-iso-east-1.c2s.ic.gov"
                                }
                            },
                            "params": {
                                "Region": "us-iso-east-1",
                                "UseFIPS": false,
                                "UseDualStack": false
                            }
                        },
                        {
                            "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled",
                            "expect": {
                                "endpoint": {
                                    "url": "https://license-manager-linux-subscriptions-fips.us-isob-east-1.sc2s.sgov.gov"
                                }
                            },
                            "params": {
                                "Region": "us-isob-east-1",
                                "UseFIPS": true,
                                "UseDualStack": false
                            }
                        },
                        {
                            "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled",
                            "expect": {
                                "endpoint": {
                                    "url": "https://license-manager-linux-subscriptions.us-isob-east-1.sc2s.sgov.gov"
                                }
                            },
                            "params": {
                                "Region": "us-isob-east-1",
                                "UseFIPS": false,
                                "UseDualStack": false
                            }
                        },
                        {
                            "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled",
                            "expect": {
                                "endpoint": {
                                    "url": "https://example.com"
                                }
                            },
                            "params": {
                                "Region": "us-east-1",
                                "UseFIPS": false,
                                "UseDualStack": false,
                                "Endpoint": "https://example.com"
                            }
                        },
                        {
                            "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled",
                            "expect": {
                                "endpoint": {
                                    "url": "https://example.com"
                                }
                            },
                            "params": {
                                "UseFIPS": false,
                                "UseDualStack": false,
                                "Endpoint": "https://example.com"
                            }
                        },
                        {
                            "documentation": "For custom endpoint with fips enabled and dualstack disabled",
                            "expect": {
                                "error": "Invalid Configuration: FIPS and custom endpoint are not supported"
                            },
                            "params": {
                                "Region": "us-east-1",
                                "UseFIPS": true,
                                "UseDualStack": false,
                                "Endpoint": "https://example.com"
                            }
                        },
                        {
                            "documentation": "For custom endpoint with fips disabled and dualstack enabled",
                            "expect": {
                                "error": "Invalid Configuration: Dualstack and custom endpoint are not supported"
                            },
                            "params": {
                                "Region": "us-east-1",
                                "UseFIPS": false,
                                "UseDualStack": true,
                                "Endpoint": "https://example.com"
                            }
                        },
                        {
                            "documentation": "Missing region",
                            "expect": {
                                "error": "Invalid Configuration: Missing Region"
                            }
                        }
                    ],
                    "version": "1.0"
                }
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#LinuxSubscriptionsDiscovery": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "name": "Enabled",
                        "value": "Enabled",
                        "documentation": "Enabled LinuxSubscriptionsDiscovery"
                    },
                    {
                        "name": "Disabled",
                        "value": "Disabled",
                        "documentation": "Disabled LinuxSubscriptionsDiscovery"
                    }
                ]
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#LinuxSubscriptionsDiscoverySettings": {
            "type": "structure",
            "members": {
                "SourceRegions": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#StringList",
                    "traits": {
                        "smithy.api#documentation": "<p>The Regions in which to discover data for Linux subscriptions.</p>",
                        "smithy.api#required": {}
                    }
                },
                "OrganizationIntegration": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#OrganizationIntegration",
                    "traits": {
                        "smithy.api#documentation": "<p>Details if you have enabled resource discovery across your accounts in Organizations.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Lists the settings defined for discovering Linux subscriptions.</p>"
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#ListLinuxSubscriptionInstances": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ListLinuxSubscriptionInstancesRequest"
            },
            "output": {
                "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ListLinuxSubscriptionInstancesResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#InternalServerException"
                },
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Lists the running Amazon EC2 instances that were discovered with commercial Linux\n      subscriptions.</p>",
                "smithy.api#http": {
                    "code": 200,
                    "method": "POST",
                    "uri": "/subscription/ListLinuxSubscriptionInstances"
                },
                "smithy.api#idempotent": {},
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults",
                    "items": "Instances"
                }
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#ListLinuxSubscriptionInstancesRequest": {
            "type": "structure",
            "members": {
                "Filters": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#FilterList",
                    "traits": {
                        "smithy.api#documentation": "<p>An array of structures that you can use to filter the results by your specified criteria. \n    \tFor example, you can specify <code>Region</code> in the <code>Name</code>, with the \n    \t<code>contains</code> operator to list all subscriptions that match a partial string in the \n    \t<code>Value</code>, such as <code>us-west</code>.</p>\n         <p>For each filter, you can specify one of the following values for the <code>Name</code> key \n    \tto streamline results:</p>\n         <ul>\n            <li>\n               <p>\n                  <code>AccountID</code>\n               </p>\n            </li>\n            <li>\n               <p>\n                  <code>AmiID</code>\n               </p>\n            </li>\n            <li>\n               <p>\n                  <code>DualSubscription</code>\n               </p>\n            </li>\n            <li>\n               <p>\n                  <code>InstanceID</code>\n               </p>\n            </li>\n            <li>\n               <p>\n                  <code>InstanceType</code>\n               </p>\n            </li>\n            <li>\n               <p>\n                  <code>ProductCode</code>\n               </p>\n            </li>\n            <li>\n               <p>\n                  <code>Region</code>\n               </p>\n            </li>\n            <li>\n               <p>\n                  <code>Status</code>\n               </p>\n            </li>\n            <li>\n               <p>\n                  <code>UsageOperation</code>\n               </p>\n            </li>\n         </ul>\n         <p>For each filter, you can use one of the following <code>Operator</code> values to \n  \t\tdefine the behavior of the filter:</p>\n         <ul>\n            <li>\n               <p>\n                  <code>contains</code>\n               </p>\n            </li>\n            <li>\n               <p>\n                  <code>equals</code>\n               </p>\n            </li>\n            <li>\n               <p>\n                  <code>Notequal</code>\n               </p>\n            </li>\n         </ul>"
                    }
                },
                "MaxResults": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#BoxInteger",
                    "traits": {
                        "smithy.api#documentation": "<p>The maximum items to return in a request.</p>"
                    }
                },
                "NextToken": {
                    "target": "smithy.api#String",
                    "traits": {
                        "smithy.api#documentation": "<p>A token to specify where to start paginating. This \n\tis the nextToken from a previously truncated response.</p>",
                        "smithy.api#length": {
                            "min": 1,
                            "max": 16384
                        }
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "NextToken length limit is half of ddb accepted limit.\nIncrease this limit if parameters in request increases."
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#ListLinuxSubscriptionInstancesResponse": {
            "type": "structure",
            "members": {
                "Instances": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#InstanceList",
                    "traits": {
                        "smithy.api#documentation": "<p>An array that contains instance objects.</p>"
                    }
                },
                "NextToken": {
                    "target": "smithy.api#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The next token used for paginated responses. When this \n\tfield isn't empty, there are additional elements that the service hasn't \n\tincluded in this request. Use this token with the next request to retrieve \n\tadditional objects.</p>"
                    }
                }
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#ListLinuxSubscriptions": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ListLinuxSubscriptionsRequest"
            },
            "output": {
                "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ListLinuxSubscriptionsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#InternalServerException"
                },
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Lists the Linux subscriptions that have been discovered. If you have linked your\n      organization, the returned results will include data aggregated across your accounts in\n      Organizations.</p>",
                "smithy.api#http": {
                    "code": 200,
                    "method": "POST",
                    "uri": "/subscription/ListLinuxSubscriptions"
                },
                "smithy.api#idempotent": {},
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults",
                    "items": "Subscriptions"
                }
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#ListLinuxSubscriptionsRequest": {
            "type": "structure",
            "members": {
                "Filters": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#FilterList",
                    "traits": {
                        "smithy.api#documentation": "<p>An array of structures that you can use to filter the results to those that match one or\n      more sets of key-value pairs that you specify. For example, you can filter by the name of\n        <code>Subscription</code> with an optional operator to see subscriptions that match,\n      partially match, or don't match a certain subscription's name.</p>\n         <p>The valid names for this filter are:</p>\n         <ul>\n            <li>\n               <p>\n                  <code>Subscription</code>\n               </p>\n            </li>\n         </ul>\n         <p>The valid Operators for this filter are:</p>\n         <ul>\n            <li>\n               <p>\n                  <code>contains</code>\n               </p>\n            </li>\n            <li>\n               <p>\n                  <code>equals</code>\n               </p>\n            </li>\n            <li>\n               <p>\n                  <code>Notequal</code>\n               </p>\n            </li>\n         </ul>"
                    }
                },
                "MaxResults": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#BoxInteger",
                    "traits": {
                        "smithy.api#documentation": "<p>The maximum items to return in a request.</p>"
                    }
                },
                "NextToken": {
                    "target": "smithy.api#String",
                    "traits": {
                        "smithy.api#documentation": "<p>A token to specify where to start paginating. This \n\tis the nextToken from a previously truncated response.</p>",
                        "smithy.api#length": {
                            "min": 1,
                            "max": 16384
                        }
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "NextToken length limit is half of ddb accepted limit.\nIncrease this limit if parameters in request increases."
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#ListLinuxSubscriptionsResponse": {
            "type": "structure",
            "members": {
                "Subscriptions": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionList",
                    "traits": {
                        "smithy.api#documentation": "<p>An array that contains subscription objects.</p>"
                    }
                },
                "NextToken": {
                    "target": "smithy.api#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The next token used for paginated responses. When this \n\tfield isn't empty, there are additional elements that the service hasn't \n\tincluded in this request. Use this token with the next request to retrieve \n\tadditional objects.</p>"
                    }
                }
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#ListRegisteredSubscriptionProviders": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ListRegisteredSubscriptionProvidersRequest"
            },
            "output": {
                "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ListRegisteredSubscriptionProvidersResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#InternalServerException"
                },
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>List Bring Your Own License (BYOL) subscription registration resources for your account.</p>",
                "smithy.api#http": {
                    "code": 200,
                    "method": "POST",
                    "uri": "/subscription/ListRegisteredSubscriptionProviders"
                },
                "smithy.api#idempotent": {},
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults",
                    "items": "RegisteredSubscriptionProviders"
                }
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#ListRegisteredSubscriptionProvidersRequest": {
            "type": "structure",
            "members": {
                "SubscriptionProviderSources": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderSourceList",
                    "traits": {
                        "smithy.api#documentation": "<p>To filter your results, specify which subscription providers to return \n\t\t\tin the list.</p>"
                    }
                },
                "MaxResults": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#BoxInteger",
                    "traits": {
                        "smithy.api#documentation": "<p>The maximum items to return in a request.</p>",
                        "smithy.api#range": {
                            "min": 1,
                            "max": 100
                        }
                    }
                },
                "NextToken": {
                    "target": "smithy.api#String",
                    "traits": {
                        "smithy.api#documentation": "<p>A token to specify where to start paginating. This \n\tis the nextToken from a previously truncated response.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#input": {}
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#ListRegisteredSubscriptionProvidersResponse": {
            "type": "structure",
            "members": {
                "RegisteredSubscriptionProviders": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#RegisteredSubscriptionProviderList",
                    "traits": {
                        "smithy.api#documentation": "<p>The list of BYOL registration resources that fit the criteria \n\t\t\tyou specified in the request.</p>"
                    }
                },
                "NextToken": {
                    "target": "smithy.api#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The next token used for paginated responses. When this \n\tfield isn't empty, there are additional elements that the service hasn't \n\tincluded in this request. Use this token with the next request to retrieve \n\tadditional objects.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#output": {}
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#ListTagsForResource": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ListTagsForResourceRequest"
            },
            "output": {
                "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ListTagsForResourceResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#InternalServerException"
                },
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>List the metadata tags that are assigned to the \n\t\t\tspecified Amazon Web Services resource.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/tags/{resourceArn}"
                },
                "smithy.api#readonly": {}
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#ListTagsForResourceRequest": {
            "type": "structure",
            "members": {
                "resourceArn": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the resource for which to list metadata tags.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#input": {}
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#ListTagsForResourceResponse": {
            "type": "structure",
            "members": {
                "tags": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#Tags",
                    "traits": {
                        "smithy.api#documentation": "<p>The metadata tags for the requested resource.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#output": {}
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#Operator": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "name": "EQUAL",
                        "value": "Equal",
                        "documentation": "Equal operator"
                    },
                    {
                        "name": "NOT_EQUAL",
                        "value": "NotEqual",
                        "documentation": "Not equal operator"
                    },
                    {
                        "name": "CONTAINS",
                        "value": "Contains",
                        "documentation": "Contains operator"
                    }
                ],
                "smithy.api#length": {
                    "min": 1,
                    "max": 20
                }
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#OrganizationIntegration": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "name": "Enabled",
                        "value": "Enabled",
                        "documentation": "Enabled OrganizationIntegration"
                    },
                    {
                        "name": "Disabled",
                        "value": "Disabled",
                        "documentation": "Disabled OrganizationIntegration"
                    }
                ]
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#ProductCodeList": {
            "type": "list",
            "member": {
                "target": "smithy.api#String"
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#RegisterSubscriptionProvider": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.licensemanagerlinuxsubscriptions#RegisterSubscriptionProviderRequest"
            },
            "output": {
                "target": "com.amazonaws.licensemanagerlinuxsubscriptions#RegisterSubscriptionProviderResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#InternalServerException"
                },
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Register the supported third-party subscription provider for your Bring Your Own License (BYOL) subscription.</p>",
                "smithy.api#http": {
                    "code": 200,
                    "method": "POST",
                    "uri": "/subscription/RegisterSubscriptionProvider"
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#RegisterSubscriptionProviderRequest": {
            "type": "structure",
            "members": {
                "SubscriptionProviderSource": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderSource",
                    "traits": {
                        "smithy.api#documentation": "<p>The supported Linux subscription provider to register.</p>",
                        "smithy.api#required": {}
                    }
                },
                "SecretArn": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SecretArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the secret where you've stored your subscription provider's access token. For \n\t\t\tRHEL subscriptions managed through the Red Hat Subscription Manager (RHSM), the secret contains \n\t\t\tyour Red Hat Offline token.</p>",
                        "smithy.api#required": {}
                    }
                },
                "Tags": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#Tags",
                    "traits": {
                        "smithy.api#documentation": "<p>The metadata tags to assign to your registered Linux subscription provider \n\t\t\tresource.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#input": {}
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#RegisterSubscriptionProviderResponse": {
            "type": "structure",
            "members": {
                "SubscriptionProviderSource": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderSource",
                    "traits": {
                        "smithy.api#documentation": "<p>The Linux subscription provider that you registered.</p>"
                    }
                },
                "SubscriptionProviderArn": {
                    "target": "smithy.api#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the Linux subscription provider resource that you registered.</p>"
                    }
                },
                "SubscriptionProviderStatus": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>Indicates the status of the registration action for the Linux subscription provider \n\t\t\tthat you requested.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#output": {}
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#RegisteredSubscriptionProvider": {
            "type": "structure",
            "members": {
                "SubscriptionProviderArn": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the Linux subscription provider resource that you registered.</p>"
                    }
                },
                "SubscriptionProviderSource": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderSource",
                    "traits": {
                        "smithy.api#documentation": "<p>A supported third-party Linux subscription provider. License Manager currently supports \n\t\t\tRed Hat subscriptions.</p>"
                    }
                },
                "SecretArn": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SecretArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the Secrets Manager secret that stores your registered Linux subscription provider \n\t\t\taccess token. For RHEL account subscriptions, this is the offline token.</p>"
                    }
                },
                "SubscriptionProviderStatus": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>Indicates the status of your registered Linux subscription provider access token \n\t\t\tfrom the last time License Manager retrieved subscription data. For RHEL account subscriptions, \n\t\t\tthis is the status of the offline token.</p>"
                    }
                },
                "SubscriptionProviderStatusMessage": {
                    "target": "smithy.api#String",
                    "traits": {
                        "smithy.api#documentation": "<p>A detailed message that's associated with your BYOL subscription \n\t\t\tprovider token status.</p>"
                    }
                },
                "LastSuccessfulDataRetrievalTime": {
                    "target": "smithy.api#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The timestamp from the last time that License Manager accessed third-party subscription data \n\t\t\tfor your account from your registered Linux subscription provider.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>A third-party provider for operating system (OS) platform software and license \n\t\t\tsubscriptions, such as Red Hat. When you register a third-party Linux subscription \n\t\t\tprovider, License Manager can get subscription data from the registered provider.</p>"
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#RegisteredSubscriptionProviderList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.licensemanagerlinuxsubscriptions#RegisteredSubscriptionProvider"
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#ResourceNotFoundException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "smithy.api#String"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Unable to find the requested Amazon Web Services resource.</p>",
                "smithy.api#error": "client"
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#SecretArn": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "^arn:[a-z0-9-\\.]{1,63}:secretsmanager:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:secret:[^/]{1,1023}$"
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#Status": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "name": "InProgress",
                        "value": "InProgress",
                        "documentation": "InProgress status"
                    },
                    {
                        "name": "Completed",
                        "value": "Completed",
                        "documentation": "Completed status"
                    },
                    {
                        "name": "Successful",
                        "value": "Successful",
                        "documentation": "Successful status"
                    },
                    {
                        "name": "Failed",
                        "value": "Failed",
                        "documentation": "Failed status"
                    }
                ]
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#StringList": {
            "type": "list",
            "member": {
                "target": "smithy.api#String",
                "traits": {
                    "smithy.api#length": {
                        "min": 1,
                        "max": 100
                    }
                }
            },
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 100
                },
                "smithy.api#uniqueItems": {}
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#StringMap": {
            "type": "map",
            "key": {
                "target": "smithy.api#String"
            },
            "value": {
                "target": "smithy.api#String"
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#Subscription": {
            "type": "structure",
            "members": {
                "Name": {
                    "target": "smithy.api#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the subscription.</p>"
                    }
                },
                "Type": {
                    "target": "smithy.api#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The type of subscription. The type can be subscription-included with Amazon EC2, Bring Your Own\n      Subscription model (BYOS), or from the Amazon Web Services Marketplace. Certain subscriptions may use licensing from the\n      Amazon Web Services Marketplace as well as OS licensing from Amazon EC2 or BYOS.</p>"
                    }
                },
                "InstanceCount": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#BoxLong",
                    "traits": {
                        "smithy.api#documentation": "<p>The total amount of running instances using this subscription.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>An object which details a discovered Linux subscription.</p>"
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.licensemanagerlinuxsubscriptions#Subscription"
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderArn": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "^arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{1,510}/[a-z0-9-\\.]{1,510}$"
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderSource": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "name": "RedHat",
                        "value": "RedHat",
                        "documentation": "RedHat subscription provider namespace"
                    }
                ]
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderSourceList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderSource"
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderStatus": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "name": "ACTIVE",
                        "value": "ACTIVE",
                        "documentation": "ACTIVE status"
                    },
                    {
                        "name": "INVALID",
                        "value": "INVALID",
                        "documentation": "INVALID status"
                    },
                    {
                        "name": "PENDING",
                        "value": "PENDING",
                        "documentation": "PENDING status"
                    }
                ]
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#TagKeyList": {
            "type": "list",
            "member": {
                "target": "smithy.api#String"
            },
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 50
                },
                "smithy.api#sensitive": {}
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#TagResource": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.licensemanagerlinuxsubscriptions#TagResourceRequest"
            },
            "output": {
                "target": "com.amazonaws.licensemanagerlinuxsubscriptions#TagResourceResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#InternalServerException"
                },
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Add metadata tags to the specified Amazon Web Services resource.</p>",
                "smithy.api#http": {
                    "method": "PUT",
                    "uri": "/tags/{resourceArn}"
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#TagResourceRequest": {
            "type": "structure",
            "members": {
                "resourceArn": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the Amazon Web Services resource to which to add the specified \n\t\t\tmetadata tags.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "tags": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#Tags",
                    "traits": {
                        "smithy.api#documentation": "<p>The metadata tags to assign to the Amazon Web Services resource. Tags are \n\t\t\tformatted as key value pairs.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#input": {}
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#TagResourceResponse": {
            "type": "structure",
            "members": {},
            "traits": {
                "smithy.api#output": {}
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#Tags": {
            "type": "map",
            "key": {
                "target": "smithy.api#String"
            },
            "value": {
                "target": "smithy.api#String"
            },
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 50
                },
                "smithy.api#sensitive": {}
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#ThrottlingException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "smithy.api#String"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The request was denied due to request throttling.</p>",
                "smithy.api#error": "client"
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#UntagResource": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.licensemanagerlinuxsubscriptions#UntagResourceRequest"
            },
            "output": {
                "target": "com.amazonaws.licensemanagerlinuxsubscriptions#UntagResourceResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#InternalServerException"
                },
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ResourceNotFoundException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Remove one or more metadata tag from the specified Amazon Web Services resource.</p>",
                "smithy.api#http": {
                    "method": "DELETE",
                    "uri": "/tags/{resourceArn}"
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#UntagResourceRequest": {
            "type": "structure",
            "members": {
                "resourceArn": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the Amazon Web Services resource to remove the metadata tags from.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "tagKeys": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#TagKeyList",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of metadata tag keys to remove from the requested \n\t\t\tresource.</p>",
                        "smithy.api#httpQuery": "tagKeys",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#input": {}
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#UntagResourceResponse": {
            "type": "structure",
            "members": {},
            "traits": {
                "smithy.api#output": {}
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#UpdateServiceSettings": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.licensemanagerlinuxsubscriptions#UpdateServiceSettingsRequest"
            },
            "output": {
                "target": "com.amazonaws.licensemanagerlinuxsubscriptions#UpdateServiceSettingsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#InternalServerException"
                },
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Updates the service settings for Linux subscriptions.</p>",
                "smithy.api#http": {
                    "code": 200,
                    "method": "POST",
                    "uri": "/subscription/UpdateServiceSettings"
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#UpdateServiceSettingsRequest": {
            "type": "structure",
            "members": {
                "LinuxSubscriptionsDiscovery": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#LinuxSubscriptionsDiscovery",
                    "traits": {
                        "smithy.api#documentation": "<p>Describes if the discovery of Linux subscriptions is enabled.</p>",
                        "smithy.api#required": {}
                    }
                },
                "LinuxSubscriptionsDiscoverySettings": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#LinuxSubscriptionsDiscoverySettings",
                    "traits": {
                        "smithy.api#documentation": "<p>The settings defined for Linux subscriptions discovery. The settings include if Organizations\n      integration has been enabled, and which Regions data will be aggregated from.</p>",
                        "smithy.api#required": {}
                    }
                },
                "AllowUpdate": {
                    "target": "smithy.api#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Describes if updates are allowed to the service settings for Linux subscriptions. If you\n      allow updates, you can aggregate Linux subscription data in more than one home Region.</p>"
                    }
                }
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#UpdateServiceSettingsResponse": {
            "type": "structure",
            "members": {
                "LinuxSubscriptionsDiscovery": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#LinuxSubscriptionsDiscovery",
                    "traits": {
                        "smithy.api#documentation": "<p>Lists if discovery has been enabled for Linux subscriptions.</p>"
                    }
                },
                "LinuxSubscriptionsDiscoverySettings": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#LinuxSubscriptionsDiscoverySettings",
                    "traits": {
                        "smithy.api#documentation": "<p>The settings defined for Linux subscriptions discovery. The settings include if Organizations\n      integration has been enabled, and which Regions data will be aggregated from.</p>"
                    }
                },
                "Status": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#Status",
                    "traits": {
                        "smithy.api#documentation": "<p>Indicates the status of Linux subscriptions settings being applied.</p>"
                    }
                },
                "StatusMessage": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#StringMap",
                    "traits": {
                        "smithy.api#documentation": "<p>A message which details the Linux subscriptions service settings current status.</p>"
                    }
                },
                "HomeRegions": {
                    "target": "com.amazonaws.licensemanagerlinuxsubscriptions#StringList",
                    "traits": {
                        "smithy.api#documentation": "<p>The Region in which License Manager displays the aggregated data for Linux\n      subscriptions.</p>"
                    }
                }
            }
        },
        "com.amazonaws.licensemanagerlinuxsubscriptions#ValidationException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "smithy.api#String"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The provided input is not valid. Try your request again.</p>",
                "smithy.api#error": "client"
            }
        }
    }
}