CINXE.COM
GitHub - aws/aws-sdk-ruby: The official AWS SDK for Ruby
<!DOCTYPE html> <html lang="en" data-color-mode="auto" data-light-theme="light" data-dark-theme="dark" data-a11y-animated-images="system" data-a11y-link-underlines="true" > <head> <meta charset="utf-8"> <link rel="dns-prefetch" href="https://github.githubassets.com"> <link rel="dns-prefetch" href="https://avatars.githubusercontent.com"> <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com"> <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/"> <link rel="preconnect" href="https://github.githubassets.com" crossorigin> <link rel="preconnect" href="https://avatars.githubusercontent.com"> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light-74231a1f3bbb.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark-8a995f0bacd4.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-f37fb7684b1f.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-9ac301c3ebe5.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-cd826e8636dc.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-f91b0f603451.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-83beb16e0ecf.css" /><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-6e122dab64fc.css" /><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-18119e682df0.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-primitives-225433424a87.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-aaa714e5674d.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-0a3c53b9d1c2.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-ea73c9cb5377.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/repository-4fce88777fa8.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/code-0210be90f4d3.css" /> <script type="application/json" id="client-env">{"locale":"en","featureFlags":["a11y_quote_reply_fix","copilot_immersive_issue_preview","copilot_new_references_ui","copilot_chat_repo_custom_instructions_preview","copilot_no_floating_button","copilot_topics_as_references","copilot_read_shared_conversation","copilot_duplicate_thread","copilot_buffered_streaming","dotcom_chat_client_side_skills","experimentation_azure_variant_endpoint","failbot_handle_non_errors","geojson_azure_maps","ghost_pilot_confidence_truncation_25","ghost_pilot_confidence_truncation_40","github_models_gateway_parse_params","github_models_o3_mini_streaming","insert_before_patch","issues_react_remove_placeholders","issues_react_blur_item_picker_on_close","marketing_pages_search_explore_provider","primer_react_css_modules_ga","react_data_router_pull_requests","remove_child_patch","report_hydro_web_vitals","sample_network_conn_type","swp_enterprise_contact_form","site_proxima_australia_update","viewscreen_sandbox","issues_react_create_milestone","issues_react_cache_fix_workaround","lifecycle_label_name_updates","copilot_task_oriented_assistive_prompts","issue_types_prevent_private_type_creation","refresh_image_video_src","react_router_dispose_on_disconnect","codespaces_prebuild_region_target_update","turbo_app_id_restore","copilot_code_review_sign_up_closed"]}</script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/wp-runtime-900d20148682.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover_js-9da652f58479.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_arianotify-polyfill_ariaNotify-polyfill_js-node_modules_github_mi-3abb8f-46b9f4874d95.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_failbot_failbot_ts-75968cfb5298.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/environment-f04cb2a9fc8c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_behaviors_dist_esm_index_mjs-0dbb79f97f8f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_selector-observer_dist_index_esm_js-f690fd9ae3d5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_relative-time-element_dist_index_js-62d275b7ddd9.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_text-expander-element_dist_index_js-78748950cb0c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_auto-complete-element_dist_index_js-node_modules_github_catalyst_-8e9f78-a90ac05d2469.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-b5f1d7-a1760ffda83d.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_markdown-toolbar-element_dist_index_js-ceef33f593fa.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_primer_view-co-c44a69-efa32db3a345.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/github-elements-394f8eb34f19.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/element-registry-25113a65b77f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_braintree_browser-detection_dist_browser-detection_js-node_modules_githu-2906d7-2a07a295af40.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-be8cb88f481b.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_morphdom_dist_morphdom-e-7c534c-a4a1922eb55f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_turbo_dist_turbo_es2017-esm_js-a03ee12d659a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-893f9f-b6294cf703b7.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_color-convert_index_js-e3180fe3bcb3.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_quote-selection_dist_index_js-node_modules_github_session-resume_-947061-e7a6c4a19f98.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_updatable-content_updatable-content_ts-eb3147a21e96.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_task-list_ts-app_assets_modules_github_sso_ts-ui_packages-900dde-768abe60b1f8.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_sticky-scroll-into-view_ts-3e000c5d31a9.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_ajax-error_ts-app_assets_modules_github_behaviors_include-87a4ae-4c160a67a3f8.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_commenting_edit_ts-app_assets_modules_github_behaviors_ht-83c235-e429cff6ceb1.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-1f167e0c2aee.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_catalyst_lib_index_js-f6223d90c7ba.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/notifications-global-01e85cd1be94.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_virtualized-list_es_index_js-node_modules_github_template-parts_lib_index_js-94dc7a2157c1.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-70450e-4b93df70b903.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_ref-selector_ts-3e9d848bab5f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/codespaces-f76fb2dd7b91.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-3eebbd-0763620ad7bf.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_decorators_js-node_modules_delegated-events_di-e161aa-9d41fb1b6c9e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_github_remote--3c9c82-b71ef90fbdc7.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/repositories-e6e7c7ff47a3.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_github_catalyst_lib_inde-dbbea9-26cce2010167.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/code-menu-1c0aedc134b1.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/primer-react-602097a4b0db.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-core-0bc17999cb79.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-lib-f1bca44e0926.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/octicons-react-cf2f2ab8dab4.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_emotion_is-prop-valid_dist_emotion-is-prop-valid_esm_js-node_modules_emo-62da9f-2df2f32ec596.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_stacktrace-parser_dist_s-e7dcdd-9a233856b02c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover-fn_js-55fea94174bf.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/notifications-subscriptions-menu-57956eade845.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.8157a56b30ae88a1b356.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/notifications-subscriptions-menu.1bcff9205c241e99cff2.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.8157a56b30ae88a1b356.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/notifications-subscriptions-menu.1bcff9205c241e99cff2.module.css" /> <title>GitHub - aws/aws-sdk-ruby: The official AWS SDK for Ruby</title> <meta name="route-pattern" content="/:user_id/:repository" data-turbo-transient> <meta name="route-controller" content="files" data-turbo-transient> <meta name="route-action" content="disambiguate" data-turbo-transient> <meta name="current-catalog-service-hash" content="f3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb"> <meta name="request-id" content="BA8A:1F2F7:309FB91:3B40C03:67E9702E" data-pjax-transient="true"/><meta name="html-safe-nonce" content="375bd76aa66fe5796f0f03c5dd68d97dd862444f1fa0043b17824563e02454b2" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCQThBOjFGMkY3OjMwOUZCOTE6M0I0MEMwMzo2N0U5NzAyRSIsInZpc2l0b3JfaWQiOiI0MzA3NTQ3NDQ1OTMxODk2ODc4IiwicmVnaW9uX2VkZ2UiOiJzb3V0aGVhc3Rhc2lhIiwicmVnaW9uX3JlbmRlciI6InNvdXRoZWFzdGFzaWEifQ==" data-pjax-transient="true"/><meta name="visitor-hmac" content="cb5caa08c427991160ba0c83ad7036c25b9b6f00308f5aef57377fc6ba149974" data-pjax-transient="true"/> <meta name="hovercard-subject-tag" content="repository:2050163" data-turbo-transient> <meta name="github-keyboard-shortcuts" content="repository,copilot" data-turbo-transient="true" /> <meta name="selected-link" value="repo_source" data-turbo-transient> <link rel="assets" href="https://github.githubassets.com/"> <meta name="google-site-verification" content="Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I"> <meta name="octolytics-url" content="https://collector.github.com/github/collect" /> <meta name="analytics-location" content="/<user-name>/<repo-name>" data-turbo-transient="true" /> <meta name="user-login" content=""> <meta name="viewport" content="width=device-width"> <meta name="description" content="The official AWS SDK for Ruby. Contribute to aws/aws-sdk-ruby development by creating an account on GitHub."> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub"> <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub"> <meta property="fb:app_id" content="1401488693436528"> <meta name="apple-itunes-app" content="app-id=1477376905, app-argument=https://github.com/aws/aws-sdk-ruby" /> <meta name="twitter:image" content="https://opengraph.githubassets.com/9c67ee2ab74798edb5fe94a87823baea65d03a4fd67319df661e69a8c4e1aed2/aws/aws-sdk-ruby" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="GitHub - aws/aws-sdk-ruby: The official AWS SDK for Ruby" /><meta name="twitter:description" content="The official AWS SDK for Ruby. Contribute to aws/aws-sdk-ruby development by creating an account on GitHub." /> <meta property="og:image" content="https://opengraph.githubassets.com/9c67ee2ab74798edb5fe94a87823baea65d03a4fd67319df661e69a8c4e1aed2/aws/aws-sdk-ruby" /><meta property="og:image:alt" content="The official AWS SDK for Ruby. Contribute to aws/aws-sdk-ruby development by creating an account on GitHub." /><meta property="og:image:width" content="1200" /><meta property="og:image:height" content="600" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="GitHub - aws/aws-sdk-ruby: The official AWS SDK for Ruby" /><meta property="og:url" content="https://github.com/aws/aws-sdk-ruby" /><meta property="og:description" content="The official AWS SDK for Ruby. Contribute to aws/aws-sdk-ruby development by creating an account on GitHub." /> <meta name="hostname" content="github.com"> <meta name="expected-hostname" content="github.com"> <meta http-equiv="x-pjax-version" content="154e3ed6ec9e0d6fff5da6846be55e3cefb81f7aa557cdcfe2a45d929fc158d2" data-turbo-track="reload"> <meta http-equiv="x-pjax-csp-version" content="e26f9f0ba624ee85cc7ac057d8faa8618a4f25a85eab052c33d018ac0f6b1a46" data-turbo-track="reload"> <meta http-equiv="x-pjax-css-version" content="159e03504eed5183f9787c72780a7d8c1460af30746ab09d728b048c41719efa" data-turbo-track="reload"> <meta http-equiv="x-pjax-js-version" content="3ef84064f1c111becc704df35223db168ecae977ac2d9ec422601ed98490e586" data-turbo-track="reload"> <meta name="turbo-cache-control" content="no-preview" data-turbo-transient=""> <meta data-hydrostats="publish"> <meta name="go-import" content="github.com/aws/aws-sdk-ruby git https://github.com/aws/aws-sdk-ruby.git"> <meta name="octolytics-dimension-user_id" content="2232217" /><meta name="octolytics-dimension-user_login" content="aws" /><meta name="octolytics-dimension-repository_id" content="2050163" /><meta name="octolytics-dimension-repository_nwo" content="aws/aws-sdk-ruby" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="false" /><meta name="octolytics-dimension-repository_network_root_id" content="2050163" /><meta name="octolytics-dimension-repository_network_root_nwo" content="aws/aws-sdk-ruby" /> <link rel="canonical" href="https://github.com/aws/aws-sdk-ruby" data-turbo-transient> <meta name="turbo-body-classes" content="logged-out env-production page-responsive"> <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> <meta name="release" content="a809ed19c131f846b28e5314dd87328a15e02a37"> <link rel="mask-icon" href="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" color="#000000"> <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png"> <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg" data-base-href="https://github.githubassets.com/favicons/favicon"> <meta name="theme-color" content="#1e2327"> <meta name="color-scheme" content="light dark" /> <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials"> </head> <body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> <div data-turbo-body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> <div class="position-relative header-wrapper js-header-wrapper "> <a href="#start-of-content" data-skip-target-assigned="false" class="px-2 py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a> <span data-view-component="true" class="progress-pjax-loader Progress position-fixed width-full"> <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span> </span> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_ui-commands_ui-commands_ts-2ea4e93613c0.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/keyboard-shortcuts-dialog-79d6a754ebf9.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.8157a56b30ae88a1b356.module.css" /> <react-partial partial-name="keyboard-shortcuts-dialog" data-ssr="false" data-attempted-ssr="false" > <script type="application/json" data-target="react-partial.embeddedData">{"props":{"docsUrl":"https://docs.github.com/get-started/accessibility/keyboard-shortcuts"}}</script> <div data-target="react-partial.reactRoot"></div> </react-partial> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-94fd67-4898d1bf4b51.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/sessions-730dca81d0a2.js"></script> <header class="HeaderMktg header-logged-out js-details-container js-header Details f4 py-3" role="banner" data-is-top="true" data-color-mode=light data-light-theme=light data-dark-theme=dark> <h2 class="sr-only">Navigation Menu</h2> <button type="button" class="HeaderMktg-backdrop d-lg-none border-0 position-fixed top-0 left-0 width-full height-full js-details-target" aria-label="Toggle navigation"> <span class="d-none">Toggle navigation</span> </button> <div class="d-flex flex-column flex-lg-row flex-items-center px-3 px-md-4 px-lg-5 height-full position-relative z-1"> <div class="d-flex flex-justify-between flex-items-center width-full width-lg-auto"> <div class="flex-1"> <button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="js-details-target js-nav-padding-recalculate js-header-menu-toggle Button--link Button--medium Button d-lg-none color-fg-inherit p-1"> <span class="Button-content"> <span class="Button-label"><div class="HeaderMenu-toggle-bar rounded my-1"></div> <div class="HeaderMenu-toggle-bar rounded my-1"></div> <div class="HeaderMenu-toggle-bar rounded my-1"></div></span> </span> </button> </div> <a class="mr-lg-3 color-fg-inherit flex-order-2 js-prevent-focus-on-mobile-nav" href="/" aria-label="Homepage" data-analytics-event="{"category":"Marketing nav","action":"click to go to homepage","label":"ref_page:Marketing;ref_cta:Logomark;ref_loc:Header"}"> <svg height="32" aria-hidden="true" viewBox="0 0 24 24" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github"> <path d="M12 1C5.9225 1 1 5.9225 1 12C1 16.8675 4.14875 20.9787 8.52125 22.4362C9.07125 22.5325 9.2775 22.2025 9.2775 21.9137C9.2775 21.6525 9.26375 20.7862 9.26375 19.865C6.5 20.3737 5.785 19.1912 5.565 18.5725C5.44125 18.2562 4.905 17.28 4.4375 17.0187C4.0525 16.8125 3.5025 16.3037 4.42375 16.29C5.29 16.2762 5.90875 17.0875 6.115 17.4175C7.105 19.0812 8.68625 18.6137 9.31875 18.325C9.415 17.61 9.70375 17.1287 10.02 16.8537C7.5725 16.5787 5.015 15.63 5.015 11.4225C5.015 10.2262 5.44125 9.23625 6.1425 8.46625C6.0325 8.19125 5.6475 7.06375 6.2525 5.55125C6.2525 5.55125 7.17375 5.2625 9.2775 6.67875C10.1575 6.43125 11.0925 6.3075 12.0275 6.3075C12.9625 6.3075 13.8975 6.43125 14.7775 6.67875C16.8813 5.24875 17.8025 5.55125 17.8025 5.55125C18.4075 7.06375 18.0225 8.19125 17.9125 8.46625C18.6138 9.23625 19.04 10.2125 19.04 11.4225C19.04 15.6437 16.4688 16.5787 14.0213 16.8537C14.42 17.1975 14.7638 17.8575 14.7638 18.8887C14.7638 20.36 14.75 21.5425 14.75 21.9137C14.75 22.2025 14.9563 22.5462 15.5063 22.4362C19.8513 20.9787 23 16.8537 23 12C23 5.9225 18.0775 1 12 1Z"></path> </svg> </a> <div class="flex-1 flex-order-2 text-right"> <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Faws%2Faws-sdk-ruby" class="HeaderMenu-link HeaderMenu-button d-inline-flex d-lg-none flex-order-1 f5 no-underline border color-border-default rounded-2 px-2 py-1 color-fg-inherit js-prevent-focus-on-mobile-nav" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/aws/aws-sdk-ruby","user_id":null}}" data-hydro-click-hmac="f91f7277cfa8402e207d18f243d4ce99f4d4ee75e981f3016ce0ecb04cf61b77" data-analytics-event="{"category":"Marketing nav","action":"click to Sign in","label":"ref_page:Marketing;ref_cta:Sign in;ref_loc:Header"}" > Sign in </a> </div> </div> <div class="HeaderMenu js-header-menu height-fit position-lg-relative d-lg-flex flex-column flex-auto top-0"> <div class="HeaderMenu-wrapper d-flex flex-column flex-self-start flex-lg-row flex-auto rounded rounded-lg-0"> <nav class="HeaderMenu-nav" aria-label="Global"> <ul class="d-lg-flex list-style-none"> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Product <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"github_copilot","context":"product","tag":"link","label":"github_copilot_link_product_navbar"}" href="https://github.com/features/copilot"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"> <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> </svg> <div> <div class="color-fg-default h4">GitHub Copilot</div> Write better code with AI </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"security","context":"product","tag":"link","label":"security_link_product_navbar"}" href="https://github.com/features/security"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"> <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> </svg> <div> <div class="color-fg-default h4">Security</div> Find and fix vulnerabilities </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"actions","context":"product","tag":"link","label":"actions_link_product_navbar"}" href="https://github.com/features/actions"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-workflow color-fg-subtle mr-3"> <path d="M1 3a2 2 0 0 1 2-2h6.5a2 2 0 0 1 2 2v6.5a2 2 0 0 1-2 2H7v4.063C7 16.355 7.644 17 8.438 17H12.5v-2.5a2 2 0 0 1 2-2H21a2 2 0 0 1 2 2V21a2 2 0 0 1-2 2h-6.5a2 2 0 0 1-2-2v-2.5H8.437A2.939 2.939 0 0 1 5.5 15.562V11.5H3a2 2 0 0 1-2-2Zm2-.5a.5.5 0 0 0-.5.5v6.5a.5.5 0 0 0 .5.5h6.5a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5ZM14.5 14a.5.5 0 0 0-.5.5V21a.5.5 0 0 0 .5.5H21a.5.5 0 0 0 .5-.5v-6.5a.5.5 0 0 0-.5-.5Z"></path> </svg> <div> <div class="color-fg-default h4">Actions</div> Automate any workflow </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"codespaces","context":"product","tag":"link","label":"codespaces_link_product_navbar"}" href="https://github.com/features/codespaces"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-codespaces color-fg-subtle mr-3"> <path d="M3.5 3.75C3.5 2.784 4.284 2 5.25 2h13.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 18.75 13H5.25a1.75 1.75 0 0 1-1.75-1.75Zm-2 12c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v4a1.75 1.75 0 0 1-1.75 1.75H3.25a1.75 1.75 0 0 1-1.75-1.75ZM5.25 3.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h13.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Zm-2 12a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h17.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25Z"></path><path d="M10 17.75a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> </svg> <div> <div class="color-fg-default h4">Codespaces</div> Instant dev environments </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"issues","context":"product","tag":"link","label":"issues_link_product_navbar"}" href="https://github.com/features/issues"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-issue-opened color-fg-subtle mr-3"> <path d="M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Zm9.5 2a2 2 0 1 1-.001-3.999A2 2 0 0 1 12 14Z"></path> </svg> <div> <div class="color-fg-default h4">Issues</div> Plan and track work </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"code_review","context":"product","tag":"link","label":"code_review_link_product_navbar"}" href="https://github.com/features/code-review"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-review color-fg-subtle mr-3"> <path d="M10.3 6.74a.75.75 0 0 1-.04 1.06l-2.908 2.7 2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M1.5 4.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 0 1-1.75 1.75h-9.69l-3.573 3.573A1.458 1.458 0 0 1 5 21.043V18.5H3.25a1.75 1.75 0 0 1-1.75-1.75ZM3.25 4a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 .75.75v3.19l3.72-3.72a.749.749 0 0 1 .53-.22h10a.25.25 0 0 0 .25-.25V4.25a.25.25 0 0 0-.25-.25Z"></path> </svg> <div> <div class="color-fg-default h4">Code Review</div> Manage code changes </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"discussions","context":"product","tag":"link","label":"discussions_link_product_navbar"}" href="https://github.com/features/discussions"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> </svg> <div> <div class="color-fg-default h4">Discussions</div> Collaborate outside of code </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"code_search","context":"product","tag":"link","label":"code_search_link_product_navbar"}" href="https://github.com/features/code-search"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-square color-fg-subtle mr-3"> <path d="M10.3 8.24a.75.75 0 0 1-.04 1.06L7.352 12l2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25Zm1.75-.25a.25.25 0 0 0-.25.25v16.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25Z"></path> </svg> <div> <div class="color-fg-default h4">Code Search</div> Find more, search less </div> </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="product-explore-heading">Explore</span> <ul class="list-style-none f5" aria-labelledby="product-explore-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"all_features","context":"product","tag":"link","label":"all_features_link_product_navbar"}" href="https://github.com/features"> All features </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"documentation","context":"product","tag":"link","label":"documentation_link_product_navbar"}" href="https://docs.github.com"> Documentation <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"github_skills","context":"product","tag":"link","label":"github_skills_link_product_navbar"}" href="https://skills.github.com"> GitHub Skills <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"blog","context":"product","tag":"link","label":"blog_link_product_navbar"}" href="https://github.blog"> Blog <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Solutions <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 pb-lg-3 mb-3 mb-lg-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-company-size-heading">By company size</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-company-size-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"enterprises","context":"solutions","tag":"link","label":"enterprises_link_solutions_navbar"}" href="https://github.com/enterprise"> Enterprises </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"small_and_medium_teams","context":"solutions","tag":"link","label":"small_and_medium_teams_link_solutions_navbar"}" href="https://github.com/team"> Small and medium teams </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"startups","context":"solutions","tag":"link","label":"startups_link_solutions_navbar"}" href="https://github.com/enterprise/startups"> Startups </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"nonprofits","context":"solutions","tag":"link","label":"nonprofits_link_solutions_navbar"}" href="/solutions/industry/nonprofits"> Nonprofits </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-use-case-heading">By use case</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-use-case-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"devsecops","context":"solutions","tag":"link","label":"devsecops_link_solutions_navbar"}" href="/solutions/use-case/devsecops"> DevSecOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"devops","context":"solutions","tag":"link","label":"devops_link_solutions_navbar"}" href="/solutions/use-case/devops"> DevOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"ci_cd","context":"solutions","tag":"link","label":"ci_cd_link_solutions_navbar"}" href="/solutions/use-case/ci-cd"> CI/CD </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"view_all_use_cases","context":"solutions","tag":"link","label":"view_all_use_cases_link_solutions_navbar"}" href="/solutions/use-case"> View all use cases </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-industry-heading">By industry</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-industry-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"healthcare","context":"solutions","tag":"link","label":"healthcare_link_solutions_navbar"}" href="/solutions/industry/healthcare"> Healthcare </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"financial_services","context":"solutions","tag":"link","label":"financial_services_link_solutions_navbar"}" href="/solutions/industry/financial-services"> Financial services </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"manufacturing","context":"solutions","tag":"link","label":"manufacturing_link_solutions_navbar"}" href="/solutions/industry/manufacturing"> Manufacturing </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"government","context":"solutions","tag":"link","label":"government_link_solutions_navbar"}" href="/solutions/industry/government"> Government </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"view_all_industries","context":"solutions","tag":"link","label":"view_all_industries_link_solutions_navbar"}" href="/solutions/industry"> View all industries </a></li> </ul> </div> </div> <div class="HeaderMenu-trailing-link rounded-bottom-2 flex-shrink-0 mt-lg-4 px-lg-4 py-4 py-lg-3 f5 text-semibold"> <a href="/solutions"> View all solutions <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-right HeaderMenu-trailing-link-icon"> <path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path> </svg> </a> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Resources <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="resources-topics-heading">Topics</span> <ul class="list-style-none f5" aria-labelledby="resources-topics-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"ai","context":"resources","tag":"link","label":"ai_link_resources_navbar"}" href="/resources/articles/ai"> AI </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"devops","context":"resources","tag":"link","label":"devops_link_resources_navbar"}" href="/resources/articles/devops"> DevOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"security","context":"resources","tag":"link","label":"security_link_resources_navbar"}" href="/resources/articles/security"> Security </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"software_development","context":"resources","tag":"link","label":"software_development_link_resources_navbar"}" href="/resources/articles/software-development"> Software Development </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"view_all","context":"resources","tag":"link","label":"view_all_link_resources_navbar"}" href="/resources/articles"> View all </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="resources-explore-heading">Explore</span> <ul class="list-style-none f5" aria-labelledby="resources-explore-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"learning_pathways","context":"resources","tag":"link","label":"learning_pathways_link_resources_navbar"}" href="https://resources.github.com/learn/pathways"> Learning Pathways <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"events_amp_webinars","context":"resources","tag":"link","label":"events_amp_webinars_link_resources_navbar"}" href="https://resources.github.com"> Events & Webinars <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"ebooks_amp_whitepapers","context":"resources","tag":"link","label":"ebooks_amp_whitepapers_link_resources_navbar"}" href="https://github.com/resources/whitepapers"> Ebooks & Whitepapers </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"customer_stories","context":"resources","tag":"link","label":"customer_stories_link_resources_navbar"}" href="https://github.com/customer-stories"> Customer Stories </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"partners","context":"resources","tag":"link","label":"partners_link_resources_navbar"}" href="https://partner.github.com"> Partners <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"executive_insights","context":"resources","tag":"link","label":"executive_insights_link_resources_navbar"}" href="https://github.com/solutions/executive-insights"> Executive Insights </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Open Source <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 px-lg-4"> <div class="HeaderMenu-column"> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"github_sponsors","context":"open_source","tag":"link","label":"github_sponsors_link_open_source_navbar"}" href="/sponsors"> <div> <div class="color-fg-default h4">GitHub Sponsors</div> Fund open source developers </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"the_readme_project","context":"open_source","tag":"link","label":"the_readme_project_link_open_source_navbar"}" href="https://github.com/readme"> <div> <div class="color-fg-default h4">The ReadME Project</div> GitHub community articles </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="open-source-repositories-heading">Repositories</span> <ul class="list-style-none f5" aria-labelledby="open-source-repositories-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"topics","context":"open_source","tag":"link","label":"topics_link_open_source_navbar"}" href="https://github.com/topics"> Topics </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"trending","context":"open_source","tag":"link","label":"trending_link_open_source_navbar"}" href="https://github.com/trending"> Trending </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"collections","context":"open_source","tag":"link","label":"collections_link_open_source_navbar"}" href="https://github.com/collections"> Collections </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Enterprise <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 px-lg-4"> <div class="HeaderMenu-column"> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"enterprise_platform","context":"enterprise","tag":"link","label":"enterprise_platform_link_enterprise_navbar"}" href="/enterprise"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-stack color-fg-subtle mr-3"> <path d="M11.063 1.456a1.749 1.749 0 0 1 1.874 0l8.383 5.316a1.751 1.751 0 0 1 0 2.956l-8.383 5.316a1.749 1.749 0 0 1-1.874 0L2.68 9.728a1.751 1.751 0 0 1 0-2.956Zm1.071 1.267a.25.25 0 0 0-.268 0L3.483 8.039a.25.25 0 0 0 0 .422l8.383 5.316a.25.25 0 0 0 .268 0l8.383-5.316a.25.25 0 0 0 0-.422Z"></path><path d="M1.867 12.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path><path d="M1.867 16.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path> </svg> <div> <div class="color-fg-default h4">Enterprise platform</div> AI-powered developer platform </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="enterprise-available-add-ons-heading">Available add-ons</span> <ul class="list-style-none f5" aria-labelledby="enterprise-available-add-ons-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"advanced_security","context":"enterprise","tag":"link","label":"advanced_security_link_enterprise_navbar"}" href="https://github.com/enterprise/advanced-security"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"> <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> </svg> <div> <div class="color-fg-default h4">Advanced Security</div> Enterprise-grade security features </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"copilot_for_business","context":"enterprise","tag":"link","label":"copilot_for_business_link_enterprise_navbar"}" href="/features/copilot/copilot-business"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"> <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> </svg> <div> <div class="color-fg-default h4">Copilot for business</div> Enterprise-grade AI features </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"premium_support","context":"enterprise","tag":"link","label":"premium_support_link_enterprise_navbar"}" href="/premium-support"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> </svg> <div> <div class="color-fg-default h4">Premium Support</div> Enterprise-grade 24/7 support </div> </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <a class="HeaderMenu-link no-underline px-0 px-lg-2 py-3 py-lg-2 d-block d-lg-inline-block" data-analytics-event="{"location":"navbar","action":"pricing","context":"global","tag":"link","label":"pricing_link_global_navbar"}" href="https://github.com/pricing">Pricing</a> </li> </ul> </nav> <div class="d-flex flex-column flex-lg-row width-full flex-justify-end flex-lg-items-center text-center mt-3 mt-lg-0 text-lg-left ml-lg-3"> <qbsearch-input class="search-input" data-scope="repo:aws/aws-sdk-ruby" data-custom-scopes-path="/search/custom_scopes" data-delete-custom-scopes-csrf="eKGbeaiIjbMda47U-zZsFbEnobURmcsPyiwf1ZUSmC1fmMRKQxM7I302mRRS1g0jcnGtm1mcUvTcJOkad_DpNQ" data-max-custom-scopes="10" data-header-redesign-enabled="false" data-initial-value="" data-blackbird-suggestions-path="/search/suggestions" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" data-current-repository="aws/aws-sdk-ruby" data-current-org="aws" data-current-owner="" data-logged-in="false" data-copilot-chat-enabled="false" data-nl-search-enabled="false" data-retain-scroll-position="true"> <div class="search-input-container search-with-dialog position-relative d-flex flex-row flex-items-center mr-4 rounded" data-action="click:qbsearch-input#searchInputContainerClicked" > <button type="button" class="header-search-button placeholder input-button form-control d-flex flex-1 flex-self-stretch flex-items-center no-wrap width-full py-0 pl-2 pr-0 text-left border-0 box-shadow-none" data-target="qbsearch-input.inputButton" aria-label="Search or jump to…" aria-haspopup="dialog" placeholder="Search or jump to..." data-hotkey=s,/ autocapitalize="off" data-analytics-event="{"location":"navbar","action":"searchbar","context":"global","tag":"input","label":"searchbar_input_global_navbar"}" data-action="click:qbsearch-input#handleExpand" > <div class="mr-2 color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </div> <span class="flex-1" data-target="qbsearch-input.inputButtonText">Search or jump to...</span> <div class="d-flex" data-target="qbsearch-input.hotkeyIndicator"> <svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" aria-hidden="true" class="mr-1"><path fill="none" stroke="#979A9C" opacity=".4" d="M3.5.5h12c1.7 0 3 1.3 3 3v13c0 1.7-1.3 3-3 3h-12c-1.7 0-3-1.3-3-3v-13c0-1.7 1.3-3 3-3z"></path><path fill="#979A9C" d="M11.8 6L8 15.1h-.9L10.8 6h1z"></path></svg> </div> </button> <input type="hidden" name="type" class="js-site-search-type-field"> <div class="Overlay--hidden " data-modal-dialog-overlay> <modal-dialog data-action="close:qbsearch-input#handleClose cancel:qbsearch-input#handleClose" data-target="qbsearch-input.searchSuggestionsDialog" role="dialog" id="search-suggestions-dialog" aria-modal="true" aria-labelledby="search-suggestions-dialog-header" data-view-component="true" class="Overlay Overlay--width-large Overlay--height-auto"> <h1 id="search-suggestions-dialog-header" class="sr-only">Search code, repositories, users, issues, pull requests...</h1> <div class="Overlay-body Overlay-body--paddingNone"> <div data-view-component="true"> <div class="search-suggestions position-fixed width-full color-shadow-large border color-fg-default color-bg-default overflow-hidden d-flex flex-column query-builder-container" style="border-radius: 12px;" data-target="qbsearch-input.queryBuilderContainer" hidden > <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="query-builder-test-form" action="" accept-charset="UTF-8" method="get"> <query-builder data-target="qbsearch-input.queryBuilder" id="query-builder-query-builder-test" data-filter-key=":" data-view-component="true" class="QueryBuilder search-query-builder"> <div class="FormControl FormControl--fullWidth"> <label id="query-builder-test-label" for="query-builder-test" class="FormControl-label sr-only"> Search </label> <div class="QueryBuilder-StyledInput width-fit " data-target="query-builder.styledInput" > <span id="query-builder-test-leadingvisual-wrap" class="FormControl-input-leadingVisualWrap QueryBuilder-leadingVisualWrap"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search FormControl-input-leadingVisual"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </span> <div data-target="query-builder.styledInputContainer" class="QueryBuilder-StyledInputContainer"> <div aria-hidden="true" class="QueryBuilder-StyledInputContent" data-target="query-builder.styledInputContent" ></div> <div class="QueryBuilder-InputWrapper"> <div aria-hidden="true" class="QueryBuilder-Sizer" data-target="query-builder.sizer"></div> <input id="query-builder-test" name="query-builder-test" value="" autocomplete="off" type="text" role="combobox" spellcheck="false" aria-expanded="false" aria-describedby="validation-77cbdc1f-3c2b-45e5-8f30-2651d0b6917f" data-target="query-builder.input" data-action=" input:query-builder#inputChange blur:query-builder#inputBlur keydown:query-builder#inputKeydown focus:query-builder#inputFocus " data-view-component="true" class="FormControl-input QueryBuilder-Input FormControl-medium" /> </div> </div> <span class="sr-only" id="query-builder-test-clear">Clear</span> <button role="button" id="query-builder-test-clear-button" aria-labelledby="query-builder-test-clear query-builder-test-label" data-target="query-builder.clearButton" data-action=" click:query-builder#clear focus:query-builder#clearButtonFocus blur:query-builder#clearButtonBlur " variant="small" hidden="hidden" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium mr-1 px-2 py-0 d-flex flex-items-center rounded-1 color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x-circle-fill Button-visual"> <path d="M2.343 13.657A8 8 0 1 1 13.658 2.343 8 8 0 0 1 2.343 13.657ZM6.03 4.97a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042L6.94 8 4.97 9.97a.749.749 0 0 0 .326 1.275.749.749 0 0 0 .734-.215L8 9.06l1.97 1.97a.749.749 0 0 0 1.275-.326.749.749 0 0 0-.215-.734L9.06 8l1.97-1.97a.749.749 0 0 0-.326-1.275.749.749 0 0 0-.734.215L8 6.94Z"></path> </svg> </button> </div> <template id="search-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </template> <template id="code-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </template> <template id="file-code-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-code"> <path d="M4 1.75C4 .784 4.784 0 5.75 0h5.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 14.25 15h-9a.75.75 0 0 1 0-1.5h9a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 10 4.25V1.5H5.75a.25.25 0 0 0-.25.25v2.5a.75.75 0 0 1-1.5 0Zm1.72 4.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l1.47-1.47-1.47-1.47a.75.75 0 0 1 0-1.06ZM3.28 7.78 1.81 9.25l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Zm8.22-6.218V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path> </svg> </template> <template id="history-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-history"> <path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path> </svg> </template> <template id="repo-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </template> <template id="bookmark-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bookmark"> <path d="M3 2.75C3 1.784 3.784 1 4.75 1h6.5c.966 0 1.75.784 1.75 1.75v11.5a.75.75 0 0 1-1.227.579L8 11.722l-3.773 3.107A.751.751 0 0 1 3 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.91l3.023-2.489a.75.75 0 0 1 .954 0l3.023 2.49V2.75a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="plus-circle-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-plus-circle"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm7.25-3.25v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5a.75.75 0 0 1 1.5 0Z"></path> </svg> </template> <template id="circle-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-dot-fill"> <path d="M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z"></path> </svg> </template> <template id="trash-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-trash"> <path d="M11 1.75V3h2.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75ZM4.496 6.675l.66 6.6a.25.25 0 0 0 .249.225h5.19a.25.25 0 0 0 .249-.225l.66-6.6a.75.75 0 0 1 1.492.149l-.66 6.6A1.748 1.748 0 0 1 10.595 15h-5.19a1.75 1.75 0 0 1-1.741-1.575l-.66-6.6a.75.75 0 1 1 1.492-.15ZM6.5 1.75V3h3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25Z"></path> </svg> </template> <template id="team-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-people"> <path d="M2 5.5a3.5 3.5 0 1 1 5.898 2.549 5.508 5.508 0 0 1 3.034 4.084.75.75 0 1 1-1.482.235 4 4 0 0 0-7.9 0 .75.75 0 0 1-1.482-.236A5.507 5.507 0 0 1 3.102 8.05 3.493 3.493 0 0 1 2 5.5ZM11 4a3.001 3.001 0 0 1 2.22 5.018 5.01 5.01 0 0 1 2.56 3.012.749.749 0 0 1-.885.954.752.752 0 0 1-.549-.514 3.507 3.507 0 0 0-2.522-2.372.75.75 0 0 1-.574-.73v-.352a.75.75 0 0 1 .416-.672A1.5 1.5 0 0 0 11 5.5.75.75 0 0 1 11 4Zm-5.5-.5a2 2 0 1 0-.001 3.999A2 2 0 0 0 5.5 3.5Z"></path> </svg> </template> <template id="project-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project"> <path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25ZM11.75 3a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75Zm-8.25.75a.75.75 0 0 1 1.5 0v5.5a.75.75 0 0 1-1.5 0ZM8 3a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 3Z"></path> </svg> </template> <template id="pencil-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pencil"> <path d="M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.253.253 0 0 0-.064.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z"></path> </svg> </template> <template id="copilot-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot"> <path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path> </svg> </template> <template id="copilot-error-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot-error"> <path d="M16 11.24c0 .112-.072.274-.21.467L13 9.688V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-.198 0-.388-.009-.571-.029L6.833 5.226a4.01 4.01 0 0 0 .17-.782c.117-.935-.037-1.395-.241-1.614-.193-.206-.637-.413-1.682-.297-.683.076-1.115.231-1.395.415l-1.257-.91c.579-.564 1.413-.877 2.485-.996 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095Zm-5.083-8.707c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Zm2.511 11.074c-1.393.776-3.272 1.428-5.43 1.428-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.18-.455-.241-.963-.252-1.475L.31 4.107A.747.747 0 0 1 0 3.509V3.49a.748.748 0 0 1 .625-.73c.156-.026.306.047.435.139l14.667 10.578a.592.592 0 0 1 .227.264.752.752 0 0 1 .046.249v.022a.75.75 0 0 1-1.19.596Zm-1.367-.991L5.635 7.964a5.128 5.128 0 0 1-.889.073c-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433 1.539 0 3.089-.505 4.063-.934Z"></path> </svg> </template> <template id="workflow-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-workflow"> <path d="M0 1.75C0 .784.784 0 1.75 0h3.5C6.216 0 7 .784 7 1.75v3.5A1.75 1.75 0 0 1 5.25 7H4v4a1 1 0 0 0 1 1h4v-1.25C9 9.784 9.784 9 10.75 9h3.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0 1 14.25 16h-3.5A1.75 1.75 0 0 1 9 14.25v-.75H5A2.5 2.5 0 0 1 2.5 11V7h-.75A1.75 1.75 0 0 1 0 5.25Zm1.75-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Zm9 9a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="book-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book"> <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> </svg> </template> <template id="code-review-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-review"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 13H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25v-8.5C0 1.784.784 1 1.75 1ZM1.5 2.75v8.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm5.28 1.72a.75.75 0 0 1 0 1.06L5.31 7l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.75.75 0 0 1 1.06 0Zm2.44 0a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.69 7 9.22 5.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </template> <template id="codespaces-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-codespaces"> <path d="M0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm2-9.5C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 0 1-1.75 1.75h-8.5A1.75 1.75 0 0 1 2 6.75Zm1.75-.25a.25.25 0 0 0-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5a.25.25 0 0 0-.25-.25Zm-2 9.5a.25.25 0 0 0-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"></path><path d="M7 12.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> </svg> </template> <template id="comment-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment"> <path d="M1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 13.25 12H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 13.543V12H2.75A1.75 1.75 0 0 1 1 10.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="comment-discussion-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> </template> <template id="organization-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-organization"> <path d="M1.75 16A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 0 0 .25-.25V8.285a.25.25 0 0 0-.111-.208l-1.055-.703a.749.749 0 1 1 .832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0 1 14.25 16h-3.5a.766.766 0 0 1-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 0 1-.75-.75V14h-1v1.25a.75.75 0 0 1-.75.75Zm-.25-1.75c0 .138.112.25.25.25H4v-1.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 .75.75v1.25h2.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM3.75 6h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 3.75A.75.75 0 0 1 3.75 3h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 3.75Zm4 3A.75.75 0 0 1 7.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 7 6.75ZM7.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 9.75A.75.75 0 0 1 3.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 9.75ZM7.75 9h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> </svg> </template> <template id="rocket-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-rocket"> <path d="M14.064 0h.186C15.216 0 16 .784 16 1.75v.186a8.752 8.752 0 0 1-2.564 6.186l-.458.459c-.314.314-.641.616-.979.904v3.207c0 .608-.315 1.172-.833 1.49l-2.774 1.707a.749.749 0 0 1-1.11-.418l-.954-3.102a1.214 1.214 0 0 1-.145-.125L3.754 9.816a1.218 1.218 0 0 1-.124-.145L.528 8.717a.749.749 0 0 1-.418-1.11l1.71-2.774A1.748 1.748 0 0 1 3.31 4h3.204c.288-.338.59-.665.904-.979l.459-.458A8.749 8.749 0 0 1 14.064 0ZM8.938 3.623h-.002l-.458.458c-.76.76-1.437 1.598-2.02 2.5l-1.5 2.317 2.143 2.143 2.317-1.5c.902-.583 1.74-1.26 2.499-2.02l.459-.458a7.25 7.25 0 0 0 2.123-5.127V1.75a.25.25 0 0 0-.25-.25h-.186a7.249 7.249 0 0 0-5.125 2.123ZM3.56 14.56c-.732.732-2.334 1.045-3.005 1.148a.234.234 0 0 1-.201-.064.234.234 0 0 1-.064-.201c.103-.671.416-2.273 1.15-3.003a1.502 1.502 0 1 1 2.12 2.12Zm6.94-3.935c-.088.06-.177.118-.266.175l-2.35 1.521.548 1.783 1.949-1.2a.25.25 0 0 0 .119-.213ZM3.678 8.116 5.2 5.766c.058-.09.117-.178.176-.266H3.309a.25.25 0 0 0-.213.119l-1.2 1.95ZM12 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </template> <template id="shield-check-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield-check"> <path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </template> <template id="heart-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-heart"> <path d="m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z"></path> </svg> </template> <template id="server-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-server"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v4c0 .372-.116.717-.314 1 .198.283.314.628.314 1v4a1.75 1.75 0 0 1-1.75 1.75H1.75A1.75 1.75 0 0 1 0 12.75v-4c0-.358.109-.707.314-1a1.739 1.739 0 0 1-.314-1v-4C0 1.784.784 1 1.75 1ZM1.5 2.75v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm.25 5.75a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25ZM7 4.75A.75.75 0 0 1 7.75 4h4.5a.75.75 0 0 1 0 1.5h-4.5A.75.75 0 0 1 7 4.75ZM7.75 10h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM3 4.75A.75.75 0 0 1 3.75 4h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 4.75ZM3.75 10h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> </svg> </template> <template id="globe-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-globe"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM5.78 8.75a9.64 9.64 0 0 0 1.363 4.177c.255.426.542.832.857 1.215.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a9.927 9.927 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.507 6.507 0 0 0 4.666 5.5c-.123-.181-.24-.365-.352-.552-.715-1.192-1.437-2.874-1.581-4.948Zm-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.507 6.507 0 0 0-4.666 5.5Zm10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.507 6.507 0 0 0 4.666-5.5Zm2.733-1.5a6.507 6.507 0 0 0-4.666-5.5c.123.181.24.365.353.552.714 1.192 1.436 2.874 1.58 4.948Z"></path> </svg> </template> <template id="issue-opened-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> </template> <template id="device-mobile-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-mobile"> <path d="M3.75 0h8.5C13.216 0 14 .784 14 1.75v12.5A1.75 1.75 0 0 1 12.25 16h-8.5A1.75 1.75 0 0 1 2 14.25V1.75C2 .784 2.784 0 3.75 0ZM3.5 1.75v12.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM8 13a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path> </svg> </template> <template id="package-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-package"> <path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path> </svg> </template> <template id="credit-card-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-credit-card"> <path d="M10.75 9a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5h-1.5Z"></path><path d="M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14H1.75A1.75 1.75 0 0 1 0 12.25ZM14.5 6.5h-13v5.75c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25Zm0-2.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25V5h13Z"></path> </svg> </template> <template id="play-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> </template> <template id="gift-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-gift"> <path d="M2 2.75A2.75 2.75 0 0 1 4.75 0c.983 0 1.873.42 2.57 1.232.268.318.497.668.68 1.042.183-.375.411-.725.68-1.044C9.376.42 10.266 0 11.25 0a2.75 2.75 0 0 1 2.45 4h.55c.966 0 1.75.784 1.75 1.75v2c0 .698-.409 1.301-1 1.582v4.918A1.75 1.75 0 0 1 13.25 16H2.75A1.75 1.75 0 0 1 1 14.25V9.332C.409 9.05 0 8.448 0 7.75v-2C0 4.784.784 4 1.75 4h.55c-.192-.375-.3-.8-.3-1.25ZM7.25 9.5H2.5v4.75c0 .138.112.25.25.25h4.5Zm1.5 0v5h4.5a.25.25 0 0 0 .25-.25V9.5Zm0-4V8h5.5a.25.25 0 0 0 .25-.25v-2a.25.25 0 0 0-.25-.25Zm-7 0a.25.25 0 0 0-.25.25v2c0 .138.112.25.25.25h5.5V5.5h-5.5Zm3-4a1.25 1.25 0 0 0 0 2.5h2.309c-.233-.818-.542-1.401-.878-1.793-.43-.502-.915-.707-1.431-.707ZM8.941 4h2.309a1.25 1.25 0 0 0 0-2.5c-.516 0-1 .205-1.43.707-.337.392-.646.975-.879 1.793Z"></path> </svg> </template> <template id="code-square-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-square"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </template> <template id="device-desktop-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-desktop"> <path d="M14.25 1c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 14.25 12h-3.727c.099 1.041.52 1.872 1.292 2.757A.752.752 0 0 1 11.25 16h-6.5a.75.75 0 0 1-.565-1.243c.772-.885 1.192-1.716 1.292-2.757H1.75A1.75 1.75 0 0 1 0 10.25v-7.5C0 1.784.784 1 1.75 1ZM1.75 2.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25ZM9.018 12H6.982a5.72 5.72 0 0 1-.765 2.5h3.566a5.72 5.72 0 0 1-.765-2.5Z"></path> </svg> </template> <div class="position-relative"> <ul role="listbox" class="ActionListWrap QueryBuilder-ListWrap" aria-label="Suggestions" data-action=" combobox-commit:query-builder#comboboxCommit mousedown:query-builder#resultsMousedown " data-target="query-builder.resultsList" data-persist-list=false id="query-builder-test-results" ></ul> </div> <div class="FormControl-inlineValidation" id="validation-77cbdc1f-3c2b-45e5-8f30-2651d0b6917f" hidden="hidden"> <span class="FormControl-inlineValidation--visual"> <svg aria-hidden="true" height="12" viewBox="0 0 12 12" version="1.1" width="12" data-view-component="true" class="octicon octicon-alert-fill"> <path d="M4.855.708c.5-.896 1.79-.896 2.29 0l4.675 8.351a1.312 1.312 0 0 1-1.146 1.954H1.33A1.313 1.313 0 0 1 .183 9.058ZM7 7V3H5v4Zm-1 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"></path> </svg> </span> <span></span> </div> </div> <div data-target="query-builder.screenReaderFeedback" aria-live="polite" aria-atomic="true" class="sr-only"></div> </query-builder></form> <div class="d-flex flex-row color-fg-muted px-3 text-small color-bg-default search-feedback-prompt"> <a target="_blank" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax" data-view-component="true" class="Link color-fg-accent text-normal ml-2">Search syntax tips</a> <div class="d-flex flex-1"></div> </div> </div> </div> </div> </modal-dialog></div> </div> <div data-action="click:qbsearch-input#retract" class="dark-backdrop position-fixed" hidden data-target="qbsearch-input.darkBackdrop"></div> <div class="color-fg-default"> <dialog-helper> <dialog data-target="qbsearch-input.feedbackDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="feedback-dialog" aria-modal="true" aria-labelledby="feedback-dialog-title" aria-describedby="feedback-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> <div data-view-component="true" class="Overlay-header"> <div class="Overlay-headerContentWrap"> <div class="Overlay-titleWrap"> <h1 class="Overlay-title " id="feedback-dialog-title"> Provide feedback </h1> </div> <div class="Overlay-actionWrap"> <button data-close-dialog-id="feedback-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button> </div> </div> </div> <scrollable-region data-labelled-by="feedback-dialog-title"> <div data-view-component="true" class="Overlay-body"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="code-search-feedback-form" data-turbo="false" action="/search/feedback" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="urj98d1g7JcPGKIdclJBUla+qNhOGU1PdT+wWdxeWXsW/mnSgNeKpRjapTcfqCH7L8M2kIutjQ+wOxhiCeWiQQ==" /> <p>We read every piece of feedback, and take your input very seriously.</p> <textarea name="feedback" class="form-control width-full mb-2" style="height: 120px" id="feedback"></textarea> <input name="include_email" id="include_email" aria-label="Include my email address so I can be contacted" class="form-control mr-2" type="checkbox"> <label for="include_email" style="font-weight: normal">Include my email address so I can be contacted</label> </form></div> </scrollable-region> <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd"> <button data-close-dialog-id="feedback-dialog" type="button" data-view-component="true" class="btn"> Cancel </button> <button form="code-search-feedback-form" data-action="click:qbsearch-input#submitFeedback" type="submit" data-view-component="true" class="btn-primary btn"> Submit feedback </button> </div> </dialog></dialog-helper> <custom-scopes data-target="qbsearch-input.customScopesManager"> <dialog-helper> <dialog data-target="custom-scopes.customScopesModalDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="custom-scopes-dialog" aria-modal="true" aria-labelledby="custom-scopes-dialog-title" aria-describedby="custom-scopes-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> <div data-view-component="true" class="Overlay-header Overlay-header--divided"> <div class="Overlay-headerContentWrap"> <div class="Overlay-titleWrap"> <h1 class="Overlay-title " id="custom-scopes-dialog-title"> Saved searches </h1> <h2 id="custom-scopes-dialog-description" class="Overlay-description">Use saved searches to filter your results more quickly</h2> </div> <div class="Overlay-actionWrap"> <button data-close-dialog-id="custom-scopes-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button> </div> </div> </div> <scrollable-region data-labelled-by="custom-scopes-dialog-title"> <div data-view-component="true" class="Overlay-body"> <div data-target="custom-scopes.customScopesModalDialogFlash"></div> <div hidden class="create-custom-scope-form" data-target="custom-scopes.createCustomScopeForm"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="custom-scopes-dialog-form" data-turbo="false" action="/search/custom_scopes" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="QwCqsDjWcfncAuRYZrcpP8DP2U1Vwz49O5+BoJe4A05KcjJWhVAHY1ElMY0Rp5JPRIzGk2npYqA11aIa732OsA==" /> <div data-target="custom-scopes.customScopesModalDialogFlash"></div> <input type="hidden" id="custom_scope_id" name="custom_scope_id" data-target="custom-scopes.customScopesIdField"> <div class="form-group"> <label for="custom_scope_name">Name</label> <auto-check src="/search/custom_scopes/check_name" required only-validate-on-blur="false"> <input type="text" name="custom_scope_name" id="custom_scope_name" data-target="custom-scopes.customScopesNameField" class="form-control" autocomplete="off" placeholder="github-ruby" required maxlength="50"> <input type="hidden" data-csrf="true" value="LVNIAp8TIc9AbOmGjGOMxU1uYa5l7g5MWQDvdbiUDDaf00RIu0NiYZQuY1Nazha8eHHJdQB+KDi7YiEhkQE3fg==" /> </auto-check> </div> <div class="form-group"> <label for="custom_scope_query">Query</label> <input type="text" name="custom_scope_query" id="custom_scope_query" data-target="custom-scopes.customScopesQueryField" class="form-control" autocomplete="off" placeholder="(repo:mona/a OR repo:mona/b) AND lang:python" required maxlength="500"> </div> <p class="text-small color-fg-muted"> To see all available qualifiers, see our <a class="Link--inTextBlock" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax">documentation</a>. </p> </form> </div> <div data-target="custom-scopes.manageCustomScopesForm"> <div data-target="custom-scopes.list"></div> </div> </div> </scrollable-region> <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd Overlay-footer--divided"> <button data-action="click:custom-scopes#customScopesCancel" type="button" data-view-component="true" class="btn"> Cancel </button> <button form="custom-scopes-dialog-form" data-action="click:custom-scopes#customScopesSubmit" data-target="custom-scopes.customScopesSubmitButton" type="submit" data-view-component="true" class="btn-primary btn"> Create saved search </button> </div> </dialog></dialog-helper> </custom-scopes> </div> </qbsearch-input> <div class="position-relative HeaderMenu-link-wrap d-lg-inline-block"> <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Faws%2Faws-sdk-ruby" class="HeaderMenu-link HeaderMenu-link--sign-in HeaderMenu-button flex-shrink-0 no-underline d-none d-lg-inline-flex border border-lg-0 rounded rounded-lg-0 px-2 py-1" style="margin-left: 12px;" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/aws/aws-sdk-ruby","user_id":null}}" data-hydro-click-hmac="f91f7277cfa8402e207d18f243d4ce99f4d4ee75e981f3016ce0ecb04cf61b77" data-analytics-event="{"category":"Marketing nav","action":"click to go to homepage","label":"ref_page:Marketing;ref_cta:Sign in;ref_loc:Header"}" > Sign in </a> </div> <a href="/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo&source_repo=aws%2Faws-sdk-ruby" class="HeaderMenu-link HeaderMenu-link--sign-up HeaderMenu-button flex-shrink-0 d-flex d-lg-inline-flex no-underline border color-border-default rounded px-2 py-1" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/aws/aws-sdk-ruby","user_id":null}}" data-hydro-click-hmac="f91f7277cfa8402e207d18f243d4ce99f4d4ee75e981f3016ce0ecb04cf61b77" data-analytics-event="{"category":"Sign up","action":"click to sign up for account","label":"ref_page:/<user-name>/<repo-name>;ref_cta:Sign up;ref_loc:header logged out"}" > Sign up </a> <button type="button" class="sr-only js-header-menu-focus-trap d-block d-lg-none">Reseting focus</button> </div> </div> </div> </div> </header> <div hidden="hidden" data-view-component="true" class="js-stale-session-flash stale-session-flash flash flash-warn flash-full"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-switched" hidden>You switched accounts on another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <button id="icon-button-4ed49d3c-19b4-41a5-b963-a878e71c78dc" aria-labelledby="tooltip-16b9b0e4-7f78-4aa1-9800-ce16a480715d" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x Button-visual"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button><tool-tip id="tooltip-16b9b0e4-7f78-4aa1-9800-ce16a480715d" for="icon-button-4ed49d3c-19b4-41a5-b963-a878e71c78dc" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Dismiss alert</tool-tip> </div> </div> <div id="start-of-content" class="show-on-focus"></div> <div id="js-flash-container" class="flash-container" data-turbo-replace> <template class="js-flash-template"> <div class="flash flash-full {{ className }}"> <div > <button autofocus class="flash-close js-flash-close" type="button" aria-label="Dismiss this message"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> <div aria-atomic="true" role="alert" class="js-flash-alert"> <div>{{ message }}</div> </div> </div> </div> </template> </div> <div class="application-main " data-commit-hovercards-enabled data-discussion-hovercards-enabled data-issue-and-pr-hovercards-enabled data-project-hovercards-enabled > <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class=""> <main id="js-repo-pjax-container" > <div id="repository-container-header" class="pt-3 hide-full-screen" style="background-color: var(--page-header-bgColor, var(--color-page-header-bg));" data-turbo-replace> <div class="d-flex flex-nowrap flex-justify-end mb-3 px-3 px-lg-5" style="gap: 1rem;"> <div class="flex-auto min-width-0 width-fit"> <div class=" d-flex flex-wrap flex-items-center wb-break-word f3 text-normal"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> <span class="author flex-self-stretch" itemprop="author"> <a class="url fn" rel="author" data-hovercard-type="organization" data-hovercard-url="/orgs/aws/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/aws"> aws </a> </span> <span class="mx-1 flex-self-stretch color-fg-muted">/</span> <strong itemprop="name" class="mr-2 flex-self-stretch"> <a data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="/aws/aws-sdk-ruby">aws-sdk-ruby</a> </strong> <span></span><span class="Label Label--secondary v-align-middle mr-1">Public</span> </div> </div> <div id="repository-details-container" class="flex-shrink-0" data-turbo-replace style="max-width: 70%;"> <ul class="pagehead-actions flex-shrink-0 d-none d-md-inline" style="padding: 2px 0;"> <li> <a href="/login?return_to=%2Faws%2Faws-sdk-ruby" rel="nofollow" id="repository-details-watch-button" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"notification subscription menu watch","repository_id":null,"auth_type":"LOG_IN","originating_url":"https://github.com/aws/aws-sdk-ruby","user_id":null}}" data-hydro-click-hmac="d54abdbe2ec44d935fb4eef666f335d1b2536887cc4ebba8b5f6174987b93d83" aria-label="You must be signed in to change notification settings" data-view-component="true" class="btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell mr-2"> <path d="M8 16a2 2 0 0 0 1.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 0 0 8 16ZM3 5a5 5 0 0 1 10 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.519 1.519 0 0 1 13.482 13H2.518a1.516 1.516 0 0 1-1.263-2.36l1.703-2.554A.255.255 0 0 0 3 7.947Zm5-3.5A3.5 3.5 0 0 0 4.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.017.017 0 0 0-.003.01l.001.006c0 .002.002.004.004.006l.006.004.007.001h10.964l.007-.001.006-.004.004-.006.001-.007a.017.017 0 0 0-.003-.01l-1.703-2.554a1.745 1.745 0 0 1-.294-.97V5A3.5 3.5 0 0 0 8 1.5Z"></path> </svg>Notifications </a> <tool-tip id="tooltip-53bbcedd-3a5f-4ab4-b3fb-b8a618c52a11" for="repository-details-watch-button" popover="manual" data-direction="s" data-type="description" data-view-component="true" class="sr-only position-absolute">You must be signed in to change notification settings</tool-tip> </li> <li> <a icon="repo-forked" id="fork-button" href="/login?return_to=%2Faws%2Faws-sdk-ruby" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"repo details fork button","repository_id":2050163,"auth_type":"LOG_IN","originating_url":"https://github.com/aws/aws-sdk-ruby","user_id":null}}" data-hydro-click-hmac="d837c5c6f0bd00210669ec43d7f9ac3e477129da9866155db1c587d037d262ed" data-view-component="true" class="btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-2"> <path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path> </svg>Fork <span id="repo-network-counter" data-pjax-replace="true" data-turbo-replace="true" title="1,219" data-view-component="true" class="Counter">1.2k</span> </a> </li> <li> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Faws%2Faws-sdk-ruby" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"star button","repository_id":2050163,"auth_type":"LOG_IN","originating_url":"https://github.com/aws/aws-sdk-ruby","user_id":null}}" data-hydro-click-hmac="333a6f321939fe3dc17a47a024f9b14b7139e60070f5fbee0f3014bf3f1ef1ae" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="3605 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="3,605" data-view-component="true" class="Counter js-social-count">3.6k</span> </a></div> </li> </ul> </div> </div> <div id="responsive-meta-container" data-turbo-replace> <div class="d-block d-md-none mb-2 px-3 px-md-4 px-lg-5"> <p class="f4 mb-3 "> The official AWS SDK for Ruby </p> <div class="mb-2 d-flex flex-items-center Link--secondary"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link flex-shrink-0 mr-2"> <path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path> </svg> <span class="flex-auto min-width-0 css-truncate css-truncate-target width-fit"> <a title="https://aws.amazon.com/sdk-for-ruby/" role="link" target="_blank" class="text-bold" rel="noopener noreferrer" href="https://aws.amazon.com/sdk-for-ruby/">aws.amazon.com/sdk-for-ruby/</a> </span> </div> <h3 class="sr-only">License</h3> <div class="mb-2"> <a href="/aws/aws-sdk-ruby/blob/version-3/LICENSE.txt" class="Link--muted" data-analytics-event="{"category":"Repository Overview","action":"click","label":"location:sidebar;file:license"}" > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-law mr-2"> <path d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path> </svg> Apache-2.0 license </a> </div> <div class="mb-3"> <a class="Link--secondary no-underline mr-3" href="/aws/aws-sdk-ruby/stargazers"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star mr-1"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg> <span class="text-bold">3.6k</span> stars </a> <a class="Link--secondary no-underline mr-3" href="/aws/aws-sdk-ruby/forks"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-1"> <path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path> </svg> <span class="text-bold">1.2k</span> forks </a> <a class="Link--secondary no-underline mr-3 d-inline-block" href="/aws/aws-sdk-ruby/branches"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-branch mr-1"> <path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path> </svg> <span>Branches</span> </a> <a class="Link--secondary no-underline d-inline-block" href="/aws/aws-sdk-ruby/tags"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-tag mr-1"> <path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"></path> </svg> <span>Tags</span> </a> <a class="Link--secondary no-underline d-inline-block" href="/aws/aws-sdk-ruby/activity"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pulse mr-1"> <path d="M6 2c.306 0 .582.187.696.471L10 10.731l1.304-3.26A.751.751 0 0 1 12 7h3.25a.75.75 0 0 1 0 1.5h-2.742l-1.812 4.528a.751.751 0 0 1-1.392 0L6 4.77 4.696 8.03A.75.75 0 0 1 4 8.5H.75a.75.75 0 0 1 0-1.5h2.742l1.812-4.529A.751.751 0 0 1 6 2Z"></path> </svg> <span>Activity</span> </a> </div> <div class="d-flex flex-wrap gap-2"> <div class="flex-1"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Faws%2Faws-sdk-ruby" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"star button","repository_id":2050163,"auth_type":"LOG_IN","originating_url":"https://github.com/aws/aws-sdk-ruby","user_id":null}}" data-hydro-click-hmac="333a6f321939fe3dc17a47a024f9b14b7139e60070f5fbee0f3014bf3f1ef1ae" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn btn-block"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> </a></div> </div> <div class="flex-1"> <a href="/login?return_to=%2Faws%2Faws-sdk-ruby" rel="nofollow" id="files-overview-watch-button" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"notification subscription menu watch","repository_id":null,"auth_type":"LOG_IN","originating_url":"https://github.com/aws/aws-sdk-ruby","user_id":null}}" data-hydro-click-hmac="d54abdbe2ec44d935fb4eef666f335d1b2536887cc4ebba8b5f6174987b93d83" aria-label="You must be signed in to change notification settings" data-view-component="true" class="btn-sm btn btn-block"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell mr-2"> <path d="M8 16a2 2 0 0 0 1.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 0 0 8 16ZM3 5a5 5 0 0 1 10 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.519 1.519 0 0 1 13.482 13H2.518a1.516 1.516 0 0 1-1.263-2.36l1.703-2.554A.255.255 0 0 0 3 7.947Zm5-3.5A3.5 3.5 0 0 0 4.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.017.017 0 0 0-.003.01l.001.006c0 .002.002.004.004.006l.006.004.007.001h10.964l.007-.001.006-.004.004-.006.001-.007a.017.017 0 0 0-.003-.01l-1.703-2.554a1.745 1.745 0 0 1-.294-.97V5A3.5 3.5 0 0 0 8 1.5Z"></path> </svg>Notifications </a> <tool-tip id="tooltip-3b43ab88-c2a5-4ee3-a690-fba116a37f0b" for="files-overview-watch-button" popover="manual" data-direction="s" data-type="description" data-view-component="true" class="sr-only position-absolute">You must be signed in to change notification settings</tool-tip> </div> <span> </span> </div> </div> </div> <nav data-pjax="#js-repo-pjax-container" aria-label="Repository" data-view-component="true" class="js-repo-nav js-sidenav-container-pjax js-responsive-underlinenav overflow-hidden UnderlineNav px-3 px-md-4 px-lg-5"> <ul data-view-component="true" class="UnderlineNav-body list-style-none"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab" href="/aws/aws-sdk-ruby" data-tab-item="i0code-tab" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments repo_attestations /aws/aws-sdk-ruby" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g c" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Code","target":"UNDERLINE_NAV.TAB"}" aria-current="page" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item selected"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code UnderlineNav-octicon d-none d-sm-inline"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> <span data-content="Code">Code</span> <span id="code-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab" href="/aws/aws-sdk-ruby/issues" data-tab-item="i1issues-tab" data-selected-links="repo_issues repo_labels repo_milestones /aws/aws-sdk-ruby/issues" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g i" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Issues","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened UnderlineNav-octicon d-none d-sm-inline"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> <span data-content="Issues">Issues</span> <span id="issues-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="21" data-view-component="true" class="Counter">21</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab" href="/aws/aws-sdk-ruby/pulls" data-tab-item="i2pull-requests-tab" data-selected-links="repo_pulls checks /aws/aws-sdk-ruby/pulls" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g p" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Pull requests","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request UnderlineNav-octicon d-none d-sm-inline"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> <span data-content="Pull requests">Pull requests</span> <span id="pull-requests-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="4" data-view-component="true" class="Counter">4</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="discussions-tab" href="/aws/aws-sdk-ruby/discussions" data-tab-item="i3discussions-tab" data-selected-links="repo_discussions /aws/aws-sdk-ruby/discussions" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g g" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Discussions","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion UnderlineNav-octicon d-none d-sm-inline"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> <span data-content="Discussions">Discussions</span> <span id="discussions-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="actions-tab" href="/aws/aws-sdk-ruby/actions" data-tab-item="i4actions-tab" data-selected-links="repo_actions /aws/aws-sdk-ruby/actions" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g a" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Actions","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play UnderlineNav-octicon d-none d-sm-inline"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> <span data-content="Actions">Actions</span> <span id="actions-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="projects-tab" href="/aws/aws-sdk-ruby/projects" data-tab-item="i5projects-tab" data-selected-links="repo_projects new_repo_project repo_project /aws/aws-sdk-ruby/projects" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g b" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Projects","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table UnderlineNav-octicon d-none d-sm-inline"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path> </svg> <span data-content="Projects">Projects</span> <span id="projects-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="security-tab" href="/aws/aws-sdk-ruby/security" data-tab-item="i6security-tab" data-selected-links="security overview alerts policy token_scanning code_scanning /aws/aws-sdk-ruby/security" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g s" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Security","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield UnderlineNav-octicon d-none d-sm-inline"> <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <span data-content="Security">Security</span> <include-fragment src="/aws/aws-sdk-ruby/security/overall-count" accept="text/fragment+html"></include-fragment> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="insights-tab" href="/aws/aws-sdk-ruby/pulse" data-tab-item="i7insights-tab" data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /aws/aws-sdk-ruby/pulse" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Insights","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph UnderlineNav-octicon d-none d-sm-inline"> <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> <span data-content="Insights">Insights</span> <span id="insights-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> </ul> <div style="visibility:hidden;" data-view-component="true" class="UnderlineNav-actions js-responsive-underlinenav-overflow position-absolute pr-3 pr-md-4 pr-lg-5 right-0"> <action-menu data-select-variant="none" data-view-component="true"> <focus-group direction="vertical" mnemonics retain> <button id="action-menu-77d9fd48-3e1e-4692-b21f-94e01fe58509-button" popovertarget="action-menu-77d9fd48-3e1e-4692-b21f-94e01fe58509-overlay" aria-controls="action-menu-77d9fd48-3e1e-4692-b21f-94e01fe58509-list" aria-haspopup="true" aria-labelledby="tooltip-75b7bd88-d19c-4a20-84cb-6985290e9466" type="button" data-view-component="true" class="Button Button--iconOnly Button--secondary Button--medium UnderlineNav-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal Button-visual"> <path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path> </svg> </button><tool-tip id="tooltip-75b7bd88-d19c-4a20-84cb-6985290e9466" for="action-menu-77d9fd48-3e1e-4692-b21f-94e01fe58509-button" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Additional navigation options</tool-tip> <anchored-position data-target="action-menu.overlay" id="action-menu-77d9fd48-3e1e-4692-b21f-94e01fe58509-overlay" anchor="action-menu-77d9fd48-3e1e-4692-b21f-94e01fe58509-button" align="start" side="outside-bottom" anchor-offset="normal" popover="auto" data-view-component="true"> <div data-view-component="true" class="Overlay Overlay--size-auto"> <div data-view-component="true" class="Overlay-body Overlay-body--paddingNone"> <action-list> <div data-view-component="true"> <ul aria-labelledby="action-menu-77d9fd48-3e1e-4692-b21f-94e01fe58509-button" id="action-menu-77d9fd48-3e1e-4692-b21f-94e01fe58509-list" role="menu" data-view-component="true" class="ActionListWrap--inset ActionListWrap"> <li hidden="hidden" data-menu-item="i0code-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-37993a93-eeed-4087-846c-fdebdde65b29" href="/aws/aws-sdk-ruby" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Code </span> </a> </li> <li hidden="hidden" data-menu-item="i1issues-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-cc86c9e9-863d-4654-9b3f-0ed4231c6f2e" href="/aws/aws-sdk-ruby/issues" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Issues </span> </a> </li> <li hidden="hidden" data-menu-item="i2pull-requests-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-181a56d9-20a6-4da4-bf13-25e9615df6f3" href="/aws/aws-sdk-ruby/pulls" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Pull requests </span> </a> </li> <li hidden="hidden" data-menu-item="i3discussions-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-88b4f8ed-e4f9-411f-8c25-378708792f9f" href="/aws/aws-sdk-ruby/discussions" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Discussions </span> </a> </li> <li hidden="hidden" data-menu-item="i4actions-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-72f8ee22-39dc-4a24-86c7-a3f2fa79d615" href="/aws/aws-sdk-ruby/actions" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Actions </span> </a> </li> <li hidden="hidden" data-menu-item="i5projects-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-5d2d56b9-8b58-4ddd-b3dc-3eed1c4d3f60" href="/aws/aws-sdk-ruby/projects" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Projects </span> </a> </li> <li hidden="hidden" data-menu-item="i6security-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-54163bcd-4eff-49d3-8d24-cc5852f95aae" href="/aws/aws-sdk-ruby/security" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield"> <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Security </span> </a> </li> <li hidden="hidden" data-menu-item="i7insights-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-00719c15-aad9-4bb1-9ffa-d4476c0c3392" href="/aws/aws-sdk-ruby/pulse" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph"> <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Insights </span> </a> </li> </ul> </div></action-list> </div> </div></anchored-position> </focus-group> </action-menu></div> </nav> </div> <turbo-frame id="repo-content-turbo-frame" target="_top" data-turbo-action="advance" class=""> <div id="repo-content-pjax-container" class="repository-content " > <h1 class='sr-only'>aws/aws-sdk-ruby</h1> <div class="clearfix container-xl px-md-4 px-lg-5 px-3"> <div> <div style="max-width: 100%" data-view-component="true" class="Layout Layout--flowRow-until-md react-repos-overview-margin Layout--sidebarPosition-end Layout--sidebarPosition-flowRow-end"> <div data-view-component="true" class="Layout-main"> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_dompurify_dist_purify_es_mjs-dd1d3ea6a436.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_tanstack_query-core_build_modern_queryObserver_js-node_modules_tanstack_-defd52-843b41414e0e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_aria-live_aria-live_ts-ui_packages_history_history_ts-ui_packages_promise-with-re-01dc80-134579ff449f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_paths_index_ts-3adbcf6faa83.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_ref-selector_RefSelector_tsx-7496afc3784d.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_commit-attribution_index_ts-ui_packages_commit-checks-status_index_ts-ui_packages-7094d4-b869a469ca5e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_hydro-analytics_hydro-analytics_ts-ui_packages_verified-fetch_verified-fetch_ts-u-4672d1-96a19eaeffb7.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_code-view-shared_hooks_use-canonical-object_ts-ui_packages_code-view-shared_hooks-d63960-3a5579c864b4.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/repos-overview-fa360a7b1b46.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.8157a56b30ae88a1b356.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/repos-overview.0ee7cac3ab511a65d9f9.module.css" /> <react-partial partial-name="repos-overview" data-ssr="true" data-attempted-ssr="true" > <script type="application/json" data-target="react-partial.embeddedData">{"props":{"initialPayload":{"allShortcutsEnabled":false,"path":"/","repo":{"id":2050163,"defaultBranch":"version-3","name":"aws-sdk-ruby","ownerLogin":"aws","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2011-07-14T22:21:47.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/2232217?v=4","public":true,"private":false,"isOrgOwned":true},"currentUser":null,"refInfo":{"name":"version-3","listCacheKey":"v0:1743129001.0","canEdit":false,"refType":"branch","currentOid":"452086290e6822c577efdd85a67faf4d9031a5f8"},"tree":{"items":[{"name":".github","path":".github","contentType":"directory"},{"name":"apis","path":"apis","contentType":"directory"},{"name":"build_tools","path":"build_tools","contentType":"directory"},{"name":"doc-src","path":"doc-src","contentType":"directory"},{"name":"gems","path":"gems","contentType":"directory"},{"name":"tasks","path":"tasks","contentType":"directory"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":".gitmodules","path":".gitmodules","contentType":"file"},{"name":".rubocop.yml","path":".rubocop.yml","contentType":"file"},{"name":".yardopts","path":".yardopts","contentType":"file"},{"name":"CODE_OF_CONDUCT.md","path":"CODE_OF_CONDUCT.md","contentType":"file"},{"name":"CONTRIBUTING.md","path":"CONTRIBUTING.md","contentType":"file"},{"name":"Gemfile","path":"Gemfile","contentType":"file"},{"name":"LICENSE.txt","path":"LICENSE.txt","contentType":"file"},{"name":"NOTICE.txt","path":"NOTICE.txt","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"Rakefile","path":"Rakefile","contentType":"file"},{"name":"UPGRADING.md","path":"UPGRADING.md","contentType":"file"},{"name":"V3_UPGRADING_GUIDE.md","path":"V3_UPGRADING_GUIDE.md","contentType":"file"},{"name":"rbs_collection.yaml","path":"rbs_collection.yaml","contentType":"file"},{"name":"services.json","path":"services.json","contentType":"file"}],"templateDirectorySuggestionUrl":null,"readme":null,"totalCount":21,"showBranchInfobar":false},"fileTree":null,"fileTreeProcessingTime":null,"foldersToFetch":[],"treeExpanded":false,"symbolsExpanded":false,"isOverview":true,"overview":{"banners":{"shouldRecommendReadme":false,"isPersonalRepo":false,"showUseActionBanner":false,"actionSlug":null,"actionId":null,"showProtectBranchBanner":false,"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_repo","releasePath":"/aws/aws-sdk-ruby/releases/new?marketplace=true","showPublishActionBanner":false},"interactionLimitBanner":null,"showInvitationBanner":false,"inviterName":null,"actionsMigrationBannerInfo":{"releaseTags":[],"showImmutableActionsMigrationBanner":false,"initialMigrationStatus":null}},"codeButton":{"contactPath":"/contact","isEnterprise":false,"local":{"protocolInfo":{"httpAvailable":true,"sshAvailable":null,"httpUrl":"https://github.com/aws/aws-sdk-ruby.git","showCloneWarning":null,"sshUrl":null,"sshCertificatesRequired":null,"sshCertificatesAvailable":null,"ghCliUrl":"gh repo clone aws/aws-sdk-ruby","defaultProtocol":"http","newSshKeyUrl":"/settings/ssh/new","setProtocolPath":"/users/set_protocol"},"platformInfo":{"cloneUrl":"https://desktop.github.com","showVisualStudioCloneButton":false,"visualStudioCloneUrl":"https://windows.github.com","showXcodeCloneButton":false,"xcodeCloneUrl":"xcode://clone?repo=https%3A%2F%2Fgithub.com%2Faws%2Faws-sdk-ruby","zipballUrl":"/aws/aws-sdk-ruby/archive/refs/heads/version-3.zip"}},"newCodespacePath":"/codespaces/new?hide_repo_select=true\u0026repo=2050163"},"popovers":{"rename":null,"renamedParentRepo":null},"commitCount":"7,729","overviewFiles":[{"displayName":"README.md","repoName":"aws-sdk-ruby","refName":"version-3","path":"README.md","preferredFileType":"readme","tabName":"README","richText":"\u003carticle class=\"markdown-body entry-content container-lg\" itemprop=\"text\"\u003e\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eAWS SDK for Ruby - Version 3\u003c/h1\u003e\u003ca id=\"user-content-aws-sdk-for-ruby---version-3\" class=\"anchor\" aria-label=\"Permalink: AWS SDK for Ruby - Version 3\" href=\"#aws-sdk-for-ruby---version-3\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003ca href=\"https://badge.fury.io/rb/aws-sdk-core\" rel=\"nofollow\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/8f1c5c6b52fe592fcd06b66f03caa43bd6817363b8ad986225e3117ce4bf994e/68747470733a2f2f62616467652e667572792e696f2f72622f6177732d73646b2d636f72652e737667\" alt=\"Gem Version\" data-canonical-src=\"https://badge.fury.io/rb/aws-sdk-core.svg\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/aws/aws-sdk-ruby/actions\"\u003e\u003cimg src=\"https://github.com/aws/aws-sdk-ruby/workflows/CI/badge.svg\" alt=\"Build Status\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/aws/aws-sdk-ruby/network\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/68bbcffdcf56f592483a7ab8efd66c2d18ca73d9f28b1e2d9db2bb6032907b05/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6177732f6177732d73646b2d727562792e737667\" alt=\"Github forks\" data-canonical-src=\"https://img.shields.io/github/forks/aws/aws-sdk-ruby.svg\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/aws/aws-sdk-ruby/stargazers\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/e3f4686cfdc9d1a7191ee316cbdcc951ac8139283c224320f49d75d1561f949e/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6177732f6177732d73646b2d727562792e737667\" alt=\"Github stars\" data-canonical-src=\"https://img.shields.io/github/stars/aws/aws-sdk-ruby.svg\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eLinks of Interest\u003c/h2\u003e\u003ca id=\"user-content-links-of-interest\" class=\"anchor\" aria-label=\"Permalink: Links of Interest\" href=\"#links-of-interest\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"https://docs.aws.amazon.com/sdk-for-ruby/v3/api/index.html\" rel=\"nofollow\"\u003eAPI Documentation\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.aws.amazon.com/sdk-for-ruby/v3/developer-guide/welcome.html\" rel=\"nofollow\"\u003eDeveloper Guide\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/V3_UPGRADING_GUIDE.md\"\u003eV3 Upgrading Guide\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://aws.amazon.com/blogs/developer/category/programing-language/ruby/\" rel=\"nofollow\"\u003eAWS Developer Blog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-ruby/discussions\"\u003eGithub Discussions\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eInstallation\u003c/h2\u003e\u003ca id=\"user-content-installation\" class=\"anchor\" aria-label=\"Permalink: Installation\" href=\"#installation\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThe AWS SDK for Ruby is available from RubyGems. With V3 modularization, you\nshould pick the specific AWS service gems to install.\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-ruby notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"gem 'aws-sdk-s3', '~\u0026gt; 1'\ngem 'aws-sdk-ec2', '~\u0026gt; 1'\"\u003e\u003cpre\u003e\u003cspan class=\"pl-en\"\u003egem\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e'aws-sdk-s3'\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e,\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e'~\u0026gt; 1'\u003c/span\u003e\n\u003cspan class=\"pl-en\"\u003egem\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e'aws-sdk-ec2'\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e,\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e'~\u0026gt; 1'\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eAlternatively, the \u003ccode\u003eaws-sdk\u003c/code\u003e gem contains every available AWS service gem. This\ngem is very large; it is recommended to use it only as a quick way to migrate\nfrom V2 or if you depend on many AWS services.\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-ruby notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"gem 'aws-sdk', '~\u0026gt; 3'\"\u003e\u003cpre\u003e\u003cspan class=\"pl-en\"\u003egem\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e'aws-sdk'\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e,\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e'~\u0026gt; 3'\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003ePlease use a pessimistic version constraint on the major version when\ndepending on service gems.\u003c/strong\u003e\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eConfiguration\u003c/h2\u003e\u003ca id=\"user-content-configuration\" class=\"anchor\" aria-label=\"Permalink: Configuration\" href=\"#configuration\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eYou will need to configure credentials and a region, either in\n\u003ca href=\"https://docs.aws.amazon.com/sdkref/latest/guide/file-location.html\" rel=\"nofollow\"\u003econfiguration files\u003c/a\u003e\nor environment variables, to make API calls. It is recommended that you\nprovide these via your environment. This makes it easier to rotate credentials\nand it keeps your secrets out of source control.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eThe SDK searches the following locations for credentials:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003eENV['AWS_ACCESS_KEY_ID']\u003c/code\u003e and \u003ccode\u003eENV['AWS_SECRET_ACCESS_KEY']\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe shared credentials ini file at \u003ccode\u003e~/.aws/credentials\u003c/code\u003e. The location used can be changed with the \u003ccode\u003eAWS_CREDENTIALS_FILE\u003c/code\u003e ENV variable.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCredential options supported in this file are:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eStatic Credentials (\u003ccode\u003eaws_access_key_id\u003c/code\u003e, \u003ccode\u003eaws_secret_access_key\u003c/code\u003e, \u003ccode\u003eaws_session_token\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAssume Role Web Identity Credentials (\u003ccode\u003eweb_identity_token_file\u003c/code\u003e, \u003ccode\u003erole_arn\u003c/code\u003e, \u003ccode\u003esource_profile\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAssume Role Credentials (\u003ccode\u003erole_arn\u003c/code\u003e, \u003ccode\u003esource_profile\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eProcess Credentials (\u003ccode\u003ecredential_process\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSSO Credentials (\u003ccode\u003esso_session\u003c/code\u003e, \u003ccode\u003esso_account_id\u003c/code\u003e, \u003ccode\u003esso_role_name\u003c/code\u003e, \u003ccode\u003esso_region\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUnless \u003ccode\u003eENV['AWS_SDK_CONFIG_OPT_OUT']\u003c/code\u003e is set, the shared configuration ini file at \u003ccode\u003e~/.aws/config\u003c/code\u003e will also be parsed for credentials.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFrom an instance profile when running on EC2 or from the ECS credential provider when running in an ECS container with that feature enabled.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eShared configuration is loaded only a single time, and credentials are provided statically at client creation time. Shared credentials do not refresh.\u003c/strong\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eThe SDK searches the following locations for a region:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003eENV['AWS_REGION']\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eENV['AMAZON_REGION']\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eENV['AWS_DEFAULT_REGION']\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUnless \u003ccode\u003eENV['AWS_SDK_CONFIG_OPT_OUT']\u003c/code\u003e is set, the shared configuration files (\u003ccode\u003e~/.aws/credentials\u003c/code\u003e and \u003ccode\u003e~/.aws/config\u003c/code\u003e) will also be checked for a region selection.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eThe region is used to construct an SSL endpoint\u003c/strong\u003e. If you need to connect to a non-standard endpoint, you may specify the \u003ccode\u003e:endpoint\u003c/code\u003e option.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eConfiguration Options\u003c/h3\u003e\u003ca id=\"user-content-configuration-options\" class=\"anchor\" aria-label=\"Permalink: Configuration Options\" href=\"#configuration-options\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eYou can also configure default credentials and the region via the \u003ccode\u003eAws.config\u003c/code\u003e\nhash. The \u003ccode\u003eAws.config\u003c/code\u003e hash takes precedence over environment variables.\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-ruby notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"require 'aws-sdk-core'\n\nAws.config.update(\n region: 'us-west-2',\n credentials: Aws::Credentials.new('akid', 'secret')\n)\"\u003e\u003cpre\u003e\u003cspan class=\"pl-en\"\u003erequire\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e'aws-sdk-core'\u003c/span\u003e\n\n\u003cspan class=\"pl-v\"\u003eAws\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003econfig\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003eupdate\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e(\u003c/span\u003e\n \u003cspan class=\"pl-pds\"\u003eregion\u003c/span\u003e: \u003cspan class=\"pl-s\"\u003e'us-west-2'\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e,\u003c/span\u003e\n \u003cspan class=\"pl-pds\"\u003ecredentials\u003c/span\u003e: \u003cspan class=\"pl-v\"\u003eAws\u003c/span\u003e::\u003cspan class=\"pl-v\"\u003eCredentials\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003enew\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e(\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e'akid'\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e,\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e'secret'\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e)\u003c/span\u003e\n\u003cspan class=\"pl-kos\"\u003e)\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eValid region and credentials options are:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003e:region\u003c/code\u003e - A string like \u003ccode\u003eus-west-2\u003c/code\u003e. See \u003ca href=\"https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html\" rel=\"nofollow\"\u003ethis page\u003c/a\u003e for a list of supported regions by service.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e:credentials\u003c/code\u003e - An instance of one of the following classes:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"http://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Credentials.html\" rel=\"nofollow\"\u003e\u003ccode\u003eAws::Credentials\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/AssumeRoleWebIdentityCredentials.html\" rel=\"nofollow\"\u003e\u003ccode\u003eAws::AssumeRoleWebIdentityCredentials\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/AssumeRoleCredentials.html\" rel=\"nofollow\"\u003e\u003ccode\u003eAws::AssumeRoleCredentials\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SharedCredentials.html\" rel=\"nofollow\"\u003e\u003ccode\u003eAws::SharedCredentials\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ProcessCredentials.html\" rel=\"nofollow\"\u003e\u003ccode\u003eAws::ProcessCredentials\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/InstanceProfileCredentials.html\" rel=\"nofollow\"\u003e\u003ccode\u003eAws::InstanceProfileCredentials\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ECSCredentials.html\" rel=\"nofollow\"\u003e\u003ccode\u003eAws::ECSCredentials\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CognitoIdentity/CognitoIdentityCredentials.html\" rel=\"nofollow\"\u003e\u003ccode\u003eAws::CognitoIdentityCredentials\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003eYou may also pass configuration options directly to Client and Resource\nconstructors. These options take precedence over the environment and\n\u003ccode\u003eAws.config\u003c/code\u003e defaults. A \u003ccode\u003e:profile\u003c/code\u003e Client option can also be used to choose a\nspecific profile defined in your configuration file.\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-ruby notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"# using a credentials object\nec2 = Aws::EC2::Client.new(region: 'us-west-2', credentials: credentials)\n\n# using a profile name\nec2 = Aws::EC2::Client.new(profile: 'my_profile')\"\u003e\u003cpre\u003e\u003cspan class=\"pl-c\"\u003e# using a credentials object\u003c/span\u003e\n\u003cspan class=\"pl-s1\"\u003eec2\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003e=\u003c/span\u003e \u003cspan class=\"pl-v\"\u003eAws\u003c/span\u003e::\u003cspan class=\"pl-c1\"\u003eEC2\u003c/span\u003e::\u003cspan class=\"pl-v\"\u003eClient\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003enew\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e(\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003eregion\u003c/span\u003e: \u003cspan class=\"pl-s\"\u003e'us-west-2'\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e,\u003c/span\u003e \u003cspan class=\"pl-pds\"\u003ecredentials\u003c/span\u003e: \u003cspan class=\"pl-en\"\u003ecredentials\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e)\u003c/span\u003e\n\n\u003cspan class=\"pl-c\"\u003e# using a profile name\u003c/span\u003e\n\u003cspan class=\"pl-s1\"\u003eec2\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003e=\u003c/span\u003e \u003cspan class=\"pl-v\"\u003eAws\u003c/span\u003e::\u003cspan class=\"pl-c1\"\u003eEC2\u003c/span\u003e::\u003cspan class=\"pl-v\"\u003eClient\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003enew\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e(\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003eprofile\u003c/span\u003e: \u003cspan class=\"pl-s\"\u003e'my_profile'\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e)\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003ePlease take care to \u003cstrong\u003enever commit credentials to source control\u003c/strong\u003e. We strongly\nrecommended loading credentials from an external source.\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-ruby notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"require 'aws-sdk'\nrequire 'json'\n\ncreds = JSON.load(File.read('secrets.json'))\nAws.config[:credentials] = Aws::Credentials.new(\n creds['AccessKeyId'],\n creds['SecretAccessKey']\n)\"\u003e\u003cpre\u003e\u003cspan class=\"pl-en\"\u003erequire\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e'aws-sdk'\u003c/span\u003e\n\u003cspan class=\"pl-en\"\u003erequire\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e'json'\u003c/span\u003e\n\n\u003cspan class=\"pl-s1\"\u003ecreds\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003e=\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003eJSON\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003eload\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e(\u003c/span\u003e\u003cspan class=\"pl-v\"\u003eFile\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003eread\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e(\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e'secrets.json'\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e)\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e)\u003c/span\u003e\n\u003cspan class=\"pl-v\"\u003eAws\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003econfig\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e[\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e:credentials\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e]\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003e=\u003c/span\u003e \u003cspan class=\"pl-v\"\u003eAws\u003c/span\u003e::\u003cspan class=\"pl-v\"\u003eCredentials\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003enew\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e(\u003c/span\u003e\n \u003cspan class=\"pl-s1\"\u003ecreds\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e[\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e'AccessKeyId'\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e]\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e,\u003c/span\u003e\n \u003cspan class=\"pl-s1\"\u003ecreds\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e[\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e'SecretAccessKey'\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e]\u003c/span\u003e\n\u003cspan class=\"pl-kos\"\u003e)\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eFor more information on how to configure credentials, see the developer guide\nfor \u003ca href=\"https://docs.aws.amazon.com/sdk-for-ruby/v3/developer-guide/setup-config.html\" rel=\"nofollow\"\u003econfiguring AWS SDK for Ruby\u003c/a\u003e.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eAPI Clients\u003c/h2\u003e\u003ca id=\"user-content-api-clients\" class=\"anchor\" aria-label=\"Permalink: API Clients\" href=\"#api-clients\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eConstruct a service client to make API calls. Each client provides a 1-to-1\nmapping of methods to API operations. Refer to the\n\u003ca href=\"https://docs.aws.amazon.com/sdk-for-ruby/v3/api/index.html\" rel=\"nofollow\"\u003eAPI documentation\u003c/a\u003e\nfor a complete list of available methods.\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-ruby notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"# list buckets in Amazon S3\ns3 = Aws::S3::Client.new\nresp = s3.list_buckets\nresp.buckets.map(\u0026amp;:name)\n#=\u0026gt; [\u0026quot;bucket-1\u0026quot;, \u0026quot;bucket-2\u0026quot;, ...]\"\u003e\u003cpre\u003e\u003cspan class=\"pl-c\"\u003e# list buckets in Amazon S3\u003c/span\u003e\n\u003cspan class=\"pl-s1\"\u003es3\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003e=\u003c/span\u003e \u003cspan class=\"pl-v\"\u003eAws\u003c/span\u003e::\u003cspan class=\"pl-c1\"\u003eS3\u003c/span\u003e::\u003cspan class=\"pl-v\"\u003eClient\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003enew\u003c/span\u003e\n\u003cspan class=\"pl-s1\"\u003eresp\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003e=\u003c/span\u003e \u003cspan class=\"pl-s1\"\u003es3\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003elist_buckets\u003c/span\u003e\n\u003cspan class=\"pl-s1\"\u003eresp\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003ebuckets\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003emap\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e(\u003c/span\u003e\u0026amp;\u003cspan class=\"pl-pds\"\u003e:name\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e)\u003c/span\u003e\n\u003cspan class=\"pl-c\"\u003e#=\u0026gt; [\"bucket-1\", \"bucket-2\", ...]\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eAPI methods accept a hash of additional request parameters and return\nstructured response data.\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-ruby notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"# list the first two objects in a bucket\nresp = s3.list_objects(bucket: 'aws-sdk', max_keys: 2)\nresp.contents.each do |object|\n puts \u0026quot;#{object.key} =\u0026gt; #{object.etag}\u0026quot;\nend\"\u003e\u003cpre\u003e\u003cspan class=\"pl-c\"\u003e# list the first two objects in a bucket\u003c/span\u003e\n\u003cspan class=\"pl-s1\"\u003eresp\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003e=\u003c/span\u003e \u003cspan class=\"pl-en\"\u003es3\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003elist_objects\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e(\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003ebucket\u003c/span\u003e: \u003cspan class=\"pl-s\"\u003e'aws-sdk'\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e,\u003c/span\u003e \u003cspan class=\"pl-pds\"\u003emax_keys\u003c/span\u003e: \u003cspan class=\"pl-c1\"\u003e2\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e)\u003c/span\u003e\n\u003cspan class=\"pl-s1\"\u003eresp\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003econtents\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003eeach\u003c/span\u003e \u003cspan class=\"pl-k\"\u003edo\u003c/span\u003e |\u003cspan class=\"pl-s1\"\u003eobject\u003c/span\u003e|\n \u003cspan class=\"pl-en\"\u003eputs\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\"\u003cspan class=\"pl-s1\"\u003e\u003cspan class=\"pl-kos\"\u003e#{\u003c/span\u003e\u003cspan class=\"pl-s1\"\u003eobject\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003ekey\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e}\u003c/span\u003e\u003c/span\u003e =\u0026gt; \u003cspan class=\"pl-s1\"\u003e\u003cspan class=\"pl-kos\"\u003e#{\u003c/span\u003e\u003cspan class=\"pl-s1\"\u003eobject\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003eetag\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e}\u003c/span\u003e\u003c/span\u003e\"\u003c/span\u003e\n\u003cspan class=\"pl-k\"\u003eend\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003ePaging Responses\u003c/h3\u003e\u003ca id=\"user-content-paging-responses\" class=\"anchor\" aria-label=\"Permalink: Paging Responses\" href=\"#paging-responses\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eMany AWS operations limit the number of results returned with each response.\nTo make it easy to get the next page of results, every AWS response object\nis enumerable:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-ruby notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"# yields one response object per API call made, this will enumerate\n# EVERY object in the named bucket\ns3.list_objects(bucket:'aws-sdk').each do |response|\n puts response.contents.map(\u0026amp;:key)\nend\"\u003e\u003cpre\u003e\u003cspan class=\"pl-c\"\u003e# yields one response object per API call made, this will enumerate\u003c/span\u003e\n\u003cspan class=\"pl-c\"\u003e# EVERY object in the named bucket\u003c/span\u003e\n\u003cspan class=\"pl-en\"\u003es3\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003elist_objects\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e(\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003ebucket\u003c/span\u003e:\u003cspan class=\"pl-s\"\u003e'aws-sdk'\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e)\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003eeach\u003c/span\u003e \u003cspan class=\"pl-k\"\u003edo\u003c/span\u003e |\u003cspan class=\"pl-s1\"\u003eresponse\u003c/span\u003e|\n \u003cspan class=\"pl-en\"\u003eputs\u003c/span\u003e \u003cspan class=\"pl-s1\"\u003eresponse\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003econtents\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003emap\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e(\u003c/span\u003e\u0026amp;\u003cspan class=\"pl-pds\"\u003e:key\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e)\u003c/span\u003e\n\u003cspan class=\"pl-k\"\u003eend\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eIf you prefer to control paging yourself, response objects have helper methods\nthat control paging:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-ruby notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"# make a request that returns a truncated response\nresp = s3.list_objects(bucket: 'aws-sdk')\n\nresp.last_page? #=\u0026gt; false\nresp.next_page? #=\u0026gt; true\nresp = resp.next_page # send a request for the next response page\nresp = resp.next_page until resp.last_page?\"\u003e\u003cpre\u003e\u003cspan class=\"pl-c\"\u003e# make a request that returns a truncated response\u003c/span\u003e\n\u003cspan class=\"pl-s1\"\u003eresp\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003e=\u003c/span\u003e \u003cspan class=\"pl-en\"\u003es3\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003elist_objects\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e(\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003ebucket\u003c/span\u003e: \u003cspan class=\"pl-s\"\u003e'aws-sdk'\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e)\u003c/span\u003e\n\n\u003cspan class=\"pl-s1\"\u003eresp\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003elast_page?\u003c/span\u003e \u003cspan class=\"pl-c\"\u003e#=\u0026gt; false\u003c/span\u003e\n\u003cspan class=\"pl-s1\"\u003eresp\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003enext_page?\u003c/span\u003e \u003cspan class=\"pl-c\"\u003e#=\u0026gt; true\u003c/span\u003e\n\u003cspan class=\"pl-s1\"\u003eresp\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003e=\u003c/span\u003e \u003cspan class=\"pl-s1\"\u003eresp\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003enext_page\u003c/span\u003e \u003cspan class=\"pl-c\"\u003e# send a request for the next response page\u003c/span\u003e\n\u003cspan class=\"pl-s1\"\u003eresp\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003e=\u003c/span\u003e \u003cspan class=\"pl-s1\"\u003eresp\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003enext_page\u003c/span\u003e \u003cspan class=\"pl-k\"\u003euntil\u003c/span\u003e \u003cspan class=\"pl-s1\"\u003eresp\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003elast_page?\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eWaiters\u003c/h3\u003e\u003ca id=\"user-content-waiters\" class=\"anchor\" aria-label=\"Permalink: Waiters\" href=\"#waiters\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eWaiters are utility methods that poll for a particular state. To invoke a\nwaiter, call \u003ccode\u003e#wait_until\u003c/code\u003e on a client:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-ruby notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"begin\n ec2.wait_until(:instance_running, instance_ids:['i-12345678'])\n puts \u0026quot;instance running\u0026quot;\nrescue Aws::Waiters::Errors::WaiterFailed =\u0026gt; error\n puts \u0026quot;failed waiting for instance running: #{error.message}\u0026quot;\nend\"\u003e\u003cpre\u003e\u003cspan class=\"pl-k\"\u003ebegin\u003c/span\u003e\n \u003cspan class=\"pl-en\"\u003eec2\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003ewait_until\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e(\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e:instance_running\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e,\u003c/span\u003e \u003cspan class=\"pl-pds\"\u003einstance_ids\u003c/span\u003e:\u003cspan class=\"pl-kos\"\u003e[\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e'i-12345678'\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e]\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e)\u003c/span\u003e\n \u003cspan class=\"pl-en\"\u003eputs\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\"instance running\"\u003c/span\u003e\n\u003cspan class=\"pl-k\"\u003erescue\u003c/span\u003e \u003cspan class=\"pl-v\"\u003eAws\u003c/span\u003e::\u003cspan class=\"pl-v\"\u003eWaiters\u003c/span\u003e::\u003cspan class=\"pl-v\"\u003eErrors\u003c/span\u003e::\u003cspan class=\"pl-v\"\u003eWaiterFailed\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003e=\u0026gt;\u003c/span\u003e \u003cspan class=\"pl-en\"\u003eerror\u003c/span\u003e\n \u003cspan class=\"pl-en\"\u003eputs\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\"failed waiting for instance running: \u003cspan class=\"pl-s1\"\u003e\u003cspan class=\"pl-kos\"\u003e#{\u003c/span\u003e\u003cspan class=\"pl-en\"\u003eerror\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003emessage\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e}\u003c/span\u003e\u003c/span\u003e\"\u003c/span\u003e\n\u003cspan class=\"pl-k\"\u003eend\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eWaiters have sensible default polling intervals and maximum attempts. You can\nconfigure these per call to \u003ccode\u003e#wait_until\u003c/code\u003e. You can also register callbacks\nthat are triggered before each polling attempt and before waiting.\nSee the API documentation for more examples and for a list of supported\nwaiters per service.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eResource Interfaces\u003c/h2\u003e\u003ca id=\"user-content-resource-interfaces\" class=\"anchor\" aria-label=\"Permalink: Resource Interfaces\" href=\"#resource-interfaces\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eResource interfaces are object oriented classes that represent actual\nresources in AWS. Resource interfaces built on top of API clients and provide\nadditional functionality.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eOnly a few services implement a resource interface. They are defined by hand\nin JSON and have limitations. Please use the Client API instead.\u003c/strong\u003e\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-ruby notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"s3 = Aws::S3::Resource.new\n\n# reference an existing bucket by name\nbucket = s3.bucket('aws-sdk')\n\n# enumerate every object in a bucket\nbucket.objects.each do |obj|\n puts \u0026quot;#{obj.key} =\u0026gt; #{obj.etag}\u0026quot;\nend\n\n# batch operations, delete objects in batches of 1k\nbucket.objects(prefix: '/tmp-files/').delete\n\n# single object operations\nobj = bucket.object('hello')\nobj.put(body:'Hello World!')\nobj.etag\nobj.delete\"\u003e\u003cpre\u003e\u003cspan class=\"pl-s1\"\u003es3\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003e=\u003c/span\u003e \u003cspan class=\"pl-v\"\u003eAws\u003c/span\u003e::\u003cspan class=\"pl-c1\"\u003eS3\u003c/span\u003e::\u003cspan class=\"pl-v\"\u003eResource\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003enew\u003c/span\u003e\n\n\u003cspan class=\"pl-c\"\u003e# reference an existing bucket by name\u003c/span\u003e\n\u003cspan class=\"pl-s1\"\u003ebucket\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003e=\u003c/span\u003e \u003cspan class=\"pl-s1\"\u003es3\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-s1\"\u003ebucket\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e(\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e'aws-sdk'\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e)\u003c/span\u003e\n\n\u003cspan class=\"pl-c\"\u003e# enumerate every object in a bucket\u003c/span\u003e\n\u003cspan class=\"pl-s1\"\u003ebucket\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003eobjects\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003eeach\u003c/span\u003e \u003cspan class=\"pl-k\"\u003edo\u003c/span\u003e |\u003cspan class=\"pl-s1\"\u003eobj\u003c/span\u003e|\n \u003cspan class=\"pl-en\"\u003eputs\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\"\u003cspan class=\"pl-s1\"\u003e\u003cspan class=\"pl-kos\"\u003e#{\u003c/span\u003e\u003cspan class=\"pl-s1\"\u003eobj\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003ekey\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e}\u003c/span\u003e\u003c/span\u003e =\u0026gt; \u003cspan class=\"pl-s1\"\u003e\u003cspan class=\"pl-kos\"\u003e#{\u003c/span\u003e\u003cspan class=\"pl-s1\"\u003eobj\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003eetag\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e}\u003c/span\u003e\u003c/span\u003e\"\u003c/span\u003e\n\u003cspan class=\"pl-k\"\u003eend\u003c/span\u003e\n\n\u003cspan class=\"pl-c\"\u003e# batch operations, delete objects in batches of 1k\u003c/span\u003e\n\u003cspan class=\"pl-s1\"\u003ebucket\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003eobjects\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e(\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003eprefix\u003c/span\u003e: \u003cspan class=\"pl-s\"\u003e'/tmp-files/'\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e)\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003edelete\u003c/span\u003e\n\n\u003cspan class=\"pl-c\"\u003e# single object operations\u003c/span\u003e\n\u003cspan class=\"pl-s1\"\u003eobj\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003e=\u003c/span\u003e \u003cspan class=\"pl-s1\"\u003ebucket\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003eobject\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e(\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e'hello'\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e)\u003c/span\u003e\n\u003cspan class=\"pl-s1\"\u003eobj\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003eput\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e(\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003ebody\u003c/span\u003e:\u003cspan class=\"pl-s\"\u003e'Hello World!'\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e)\u003c/span\u003e\n\u003cspan class=\"pl-s1\"\u003eobj\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003eetag\u003c/span\u003e\n\u003cspan class=\"pl-s1\"\u003eobj\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003edelete\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eREPL - AWS Interactive Console\u003c/h2\u003e\u003ca id=\"user-content-repl---aws-interactive-console\" class=\"anchor\" aria-label=\"Permalink: REPL - AWS Interactive Console\" href=\"#repl---aws-interactive-console\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThe \u003ccode\u003eaws-sdk\u003c/code\u003e gem ships with a REPL that provides a simple way to test\nthe Ruby SDK. You can access the REPL by running \u003ccode\u003eaws-v3.rb\u003c/code\u003e from the command line.\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-ruby notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"$ aws-v3.rb\n[1] pry(Aws)\u0026gt; ec2.describe_instances.reservations.first.instances.first\n[Aws::EC2::Client 200 0.216615 0 retries] describe_instances()\n\u0026lt;struct\n instance_id=\u0026quot;i-1234567\u0026quot;,\n image_id=\u0026quot;ami-7654321\u0026quot;,\n state=\u0026lt;struct code=16, name=\u0026quot;running\u0026quot;\u0026gt;,\n ...\u0026gt;\"\u003e\u003cpre\u003e$ \u003cspan class=\"pl-en\"\u003eaws\u003c/span\u003e-\u003cspan class=\"pl-en\"\u003ev3\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003erb\u003c/span\u003e\n\u003cspan class=\"pl-kos\"\u003e[\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e1\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e]\u003c/span\u003e \u003cspan class=\"pl-en\"\u003epry\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e(\u003c/span\u003e\u003cspan class=\"pl-v\"\u003eAws\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e)\u003c/span\u003e\u0026gt; \u003cspan class=\"pl-en\"\u003eec2\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003edescribe_instances\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003ereservations\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003efirst\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003einstances\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-en\"\u003efirst\u003c/span\u003e\n\u003cspan class=\"pl-kos\"\u003e[\u003c/span\u003e\u003cspan class=\"pl-v\"\u003eAws\u003c/span\u003e::\u003cspan class=\"pl-c1\"\u003eEC2\u003c/span\u003e::\u003cspan class=\"pl-en\"\u003eClient\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003e200\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003e0.216615\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003e0\u003c/span\u003e \u003cspan class=\"pl-en\"\u003eretries\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e]\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e\u003c/span\u003e \u003cspan class=\"pl-en\"\u003edescribe_instances\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e(\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e)\u003c/span\u003e\n\u0026lt;\u003cspan class=\"pl-en\"\u003estruct\u003c/span\u003e\n \u003cspan class=\"pl-s1\"\u003einstance_id\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e=\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\"i-1234567\"\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e,\u003c/span\u003e\n \u003cspan class=\"pl-s1\"\u003eimage_id\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e=\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\"ami-7654321\"\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e,\u003c/span\u003e\n \u003cspan class=\"pl-en\"\u003estate\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e=\u003c/span\u003e\u0026lt;\u003cspan class=\"pl-en\"\u003estruct\u003c/span\u003e \u003cspan class=\"pl-s1\"\u003ecode\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e=\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e16\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e,\u003c/span\u003e \u003cspan class=\"pl-s1\"\u003ename\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e=\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\"running\"\u003c/span\u003e\u0026gt;\u003cspan class=\"pl-kos\"\u003e,\u003c/span\u003e\n ...\u0026gt;\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eYou can enable HTTP wire logging by setting the verbose flag:\u003c/p\u003e\n\u003cdiv class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"$ aws-v3.rb -v\"\u003e\u003cpre class=\"notranslate\"\u003e\u003ccode\u003e$ aws-v3.rb -v\n\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eIn the REPL, every service class has a helper that returns a new client object.\nSimply downcase the service module name for the helper:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003es3\u003c/code\u003e =\u0026gt; \u003ccode\u003e#\u0026lt;Aws::S3::Client\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eec2\u003c/code\u003e =\u0026gt; \u003ccode\u003e#\u0026lt;Aws::EC2::Client\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eetc\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFunctionality requiring AWS Common Runtime (CRT)\u003c/h2\u003e\u003ca id=\"user-content-functionality-requiring-aws-common-runtime-crt\" class=\"anchor\" aria-label=\"Permalink: Functionality requiring AWS Common Runtime (CRT)\" href=\"#functionality-requiring-aws-common-runtime-crt\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThe AWS SDK for Ruby has optional functionality that requires the\n\u003ca href=\"https://docs.aws.amazon.com/sdkref/latest/guide/common-runtime.html\" rel=\"nofollow\"\u003eAWS Common Runtime (CRT)\u003c/a\u003e\nbindings to be included as a dependency with your application. This functionality includes:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCRC-32c support for \u003ca href=\"https://aws.amazon.com/blogs/aws/new-additional-checksum-algorithms-for-amazon-s3/\" rel=\"nofollow\"\u003eS3 Additional Checksums\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003eAWS CRT bindings are in developer preview and are available in the\nthe \u003ca href=\"https://rubygems.org/gems/aws-crt/\" rel=\"nofollow\"\u003eaws-crt\u003c/a\u003e gem. You can install them by adding the \u003ccode\u003eaws-crt\u003c/code\u003e gem to your Gemfile.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eGetting Help\u003c/h2\u003e\u003ca id=\"user-content-getting-help\" class=\"anchor\" aria-label=\"Permalink: Getting Help\" href=\"#getting-help\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003ePlease use any of these resources for getting help:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAsk a question on \u003ca href=\"https://github.com/aws/aws-sdk-ruby/discussions\"\u003eGithub Discussions\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAsk a question on StackOverflow and \u003ca href=\"http://stackoverflow.com/questions/tagged/aws-sdk-ruby\" rel=\"nofollow\"\u003etag it\u003c/a\u003e with \u003ccode\u003eaws-sdk-ruby\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eOpen a support ticket with \u003ca href=\"https://console.aws.amazon.com/support/home\" rel=\"nofollow\"\u003eAWS Support\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eMaintenance and support for SDK major versions\u003c/h2\u003e\u003ca id=\"user-content-maintenance-and-support-for-sdk-major-versions\" class=\"anchor\" aria-label=\"Permalink: Maintenance and support for SDK major versions\" href=\"#maintenance-and-support-for-sdk-major-versions\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eFor information about maintenance and support for SDK major versions and their underlying dependencies, see the following in the \u003ca href=\"https://docs.aws.amazon.com/credref/latest/refdocs/overview.html\" rel=\"nofollow\"\u003eAWS SDKs and Tools Shared Configuration and Credentials Reference Guide\u003c/a\u003e:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"https://docs.aws.amazon.com/credref/latest/refdocs/maint-policy.html\" rel=\"nofollow\"\u003eAWS SDKs and Tools Maintenance Policy\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.aws.amazon.com/credref/latest/refdocs/version-support-matrix.html\" rel=\"nofollow\"\u003eAWS SDKs and Tools Version Support Matrix\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eOpening Issues\u003c/h2\u003e\u003ca id=\"user-content-opening-issues\" class=\"anchor\" aria-label=\"Permalink: Opening Issues\" href=\"#opening-issues\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eIf you encounter a bug or have a feature request, we would like to hear about\nit. Search the existing issues and try to make sure your problem doesn’t already\nexist before opening a new issue.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eThe GitHub issues are intended for bug reports and feature requests. For help\nand questions with using \u003ccode\u003eaws-sdk-ruby\u003c/code\u003e please make use of the resources listed\nin the Getting Help section.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eVersioning\u003c/h2\u003e\u003ca id=\"user-content-versioning\" class=\"anchor\" aria-label=\"Permalink: Versioning\" href=\"#versioning\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThis project uses \u003ca href=\"http://semver.org/\" rel=\"nofollow\"\u003esemantic versioning\u003c/a\u003e. You can safely\nexpress a dependency on a major version and expect all minor and patch versions\nto be backwards compatible.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eA CHANGELOG can be found at each gem's root path (i.e. \u003ccode\u003eaws-sdk-s3\u003c/code\u003e can be found\nat \u003ccode\u003egems/aws-sdk-s3/CHANGELOG.md\u003c/code\u003e). The CHANGELOG is also accessible via the\nRubyGems.org page under \"LINKS\" section.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eSupported Services\u003c/h2\u003e\u003ca id=\"user-content-supported-services\" class=\"anchor\" aria-label=\"Permalink: Supported Services\" href=\"#supported-services\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cmarkdown-accessiblity-table\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eService Name\u003c/th\u003e\n\u003cth\u003eService Module\u003c/th\u003e\n\u003cth\u003egem_name\u003c/th\u003e\n\u003cth\u003eAPI Version\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS ARC - Zonal Shift\u003c/td\u003e\n\u003ctd\u003eAws::ARCZonalShift\u003c/td\u003e\n\u003ctd\u003eaws-sdk-arczonalshift\u003c/td\u003e\n\u003ctd\u003e2022-10-30\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Account\u003c/td\u003e\n\u003ctd\u003eAws::Account\u003c/td\u003e\n\u003ctd\u003eaws-sdk-account\u003c/td\u003e\n\u003ctd\u003e2021-02-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Amplify\u003c/td\u003e\n\u003ctd\u003eAws::Amplify\u003c/td\u003e\n\u003ctd\u003eaws-sdk-amplify\u003c/td\u003e\n\u003ctd\u003e2017-07-25\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Amplify UI Builder\u003c/td\u003e\n\u003ctd\u003eAws::AmplifyUIBuilder\u003c/td\u003e\n\u003ctd\u003eaws-sdk-amplifyuibuilder\u003c/td\u003e\n\u003ctd\u003e2021-08-11\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS App Mesh\u003c/td\u003e\n\u003ctd\u003eAws::AppMesh\u003c/td\u003e\n\u003ctd\u003eaws-sdk-appmesh\u003c/td\u003e\n\u003ctd\u003e2019-01-25\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS App Runner\u003c/td\u003e\n\u003ctd\u003eAws::AppRunner\u003c/td\u003e\n\u003ctd\u003eaws-sdk-apprunner\u003c/td\u003e\n\u003ctd\u003e2020-05-15\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS AppConfig Data\u003c/td\u003e\n\u003ctd\u003eAws::AppConfigData\u003c/td\u003e\n\u003ctd\u003eaws-sdk-appconfigdata\u003c/td\u003e\n\u003ctd\u003e2021-11-11\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS AppSync\u003c/td\u003e\n\u003ctd\u003eAws::AppSync\u003c/td\u003e\n\u003ctd\u003eaws-sdk-appsync\u003c/td\u003e\n\u003ctd\u003e2017-07-25\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Application Cost Profiler\u003c/td\u003e\n\u003ctd\u003eAws::ApplicationCostProfiler\u003c/td\u003e\n\u003ctd\u003eaws-sdk-applicationcostprofiler\u003c/td\u003e\n\u003ctd\u003e2020-09-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Application Discovery Service\u003c/td\u003e\n\u003ctd\u003eAws::ApplicationDiscoveryService\u003c/td\u003e\n\u003ctd\u003eaws-sdk-applicationdiscoveryservice\u003c/td\u003e\n\u003ctd\u003e2015-11-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Artifact\u003c/td\u003e\n\u003ctd\u003eAws::Artifact\u003c/td\u003e\n\u003ctd\u003eaws-sdk-artifact\u003c/td\u003e\n\u003ctd\u003e2018-05-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Audit Manager\u003c/td\u003e\n\u003ctd\u003eAws::AuditManager\u003c/td\u003e\n\u003ctd\u003eaws-sdk-auditmanager\u003c/td\u003e\n\u003ctd\u003e2017-07-25\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Auto Scaling Plans\u003c/td\u003e\n\u003ctd\u003eAws::AutoScalingPlans\u003c/td\u003e\n\u003ctd\u003eaws-sdk-autoscalingplans\u003c/td\u003e\n\u003ctd\u003e2018-01-06\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS B2B Data Interchange\u003c/td\u003e\n\u003ctd\u003eAws::B2bi\u003c/td\u003e\n\u003ctd\u003eaws-sdk-b2bi\u003c/td\u003e\n\u003ctd\u003e2022-06-23\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Backup\u003c/td\u003e\n\u003ctd\u003eAws::Backup\u003c/td\u003e\n\u003ctd\u003eaws-sdk-backup\u003c/td\u003e\n\u003ctd\u003e2018-11-15\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Backup Gateway\u003c/td\u003e\n\u003ctd\u003eAws::BackupGateway\u003c/td\u003e\n\u003ctd\u003eaws-sdk-backupgateway\u003c/td\u003e\n\u003ctd\u003e2021-01-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Backup Search\u003c/td\u003e\n\u003ctd\u003eAws::BackupSearch\u003c/td\u003e\n\u003ctd\u003eaws-sdk-backupsearch\u003c/td\u003e\n\u003ctd\u003e2018-05-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Batch\u003c/td\u003e\n\u003ctd\u003eAws::Batch\u003c/td\u003e\n\u003ctd\u003eaws-sdk-batch\u003c/td\u003e\n\u003ctd\u003e2016-08-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Billing\u003c/td\u003e\n\u003ctd\u003eAws::Billing\u003c/td\u003e\n\u003ctd\u003eaws-sdk-billing\u003c/td\u003e\n\u003ctd\u003e2023-09-07\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Billing and Cost Management Data Exports\u003c/td\u003e\n\u003ctd\u003eAws::BCMDataExports\u003c/td\u003e\n\u003ctd\u003eaws-sdk-bcmdataexports\u003c/td\u003e\n\u003ctd\u003e2023-11-26\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Billing and Cost Management Pricing Calculator\u003c/td\u003e\n\u003ctd\u003eAws::BCMPricingCalculator\u003c/td\u003e\n\u003ctd\u003eaws-sdk-bcmpricingcalculator\u003c/td\u003e\n\u003ctd\u003e2024-06-19\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Budgets\u003c/td\u003e\n\u003ctd\u003eAws::Budgets\u003c/td\u003e\n\u003ctd\u003eaws-sdk-budgets\u003c/td\u003e\n\u003ctd\u003e2016-10-20\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Certificate Manager\u003c/td\u003e\n\u003ctd\u003eAws::ACM\u003c/td\u003e\n\u003ctd\u003eaws-sdk-acm\u003c/td\u003e\n\u003ctd\u003e2015-12-08\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Certificate Manager Private Certificate Authority\u003c/td\u003e\n\u003ctd\u003eAws::ACMPCA\u003c/td\u003e\n\u003ctd\u003eaws-sdk-acmpca\u003c/td\u003e\n\u003ctd\u003e2017-08-22\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Chatbot\u003c/td\u003e\n\u003ctd\u003eAws::Chatbot\u003c/td\u003e\n\u003ctd\u003eaws-sdk-chatbot\u003c/td\u003e\n\u003ctd\u003e2017-10-11\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Clean Rooms ML\u003c/td\u003e\n\u003ctd\u003eAws::CleanRoomsML\u003c/td\u003e\n\u003ctd\u003eaws-sdk-cleanroomsml\u003c/td\u003e\n\u003ctd\u003e2023-09-06\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Clean Rooms Service\u003c/td\u003e\n\u003ctd\u003eAws::CleanRooms\u003c/td\u003e\n\u003ctd\u003eaws-sdk-cleanrooms\u003c/td\u003e\n\u003ctd\u003e2022-02-17\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Cloud Control API\u003c/td\u003e\n\u003ctd\u003eAws::CloudControlApi\u003c/td\u003e\n\u003ctd\u003eaws-sdk-cloudcontrolapi\u003c/td\u003e\n\u003ctd\u003e2021-09-30\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Cloud Map\u003c/td\u003e\n\u003ctd\u003eAws::ServiceDiscovery\u003c/td\u003e\n\u003ctd\u003eaws-sdk-servicediscovery\u003c/td\u003e\n\u003ctd\u003e2017-03-14\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Cloud9\u003c/td\u003e\n\u003ctd\u003eAws::Cloud9\u003c/td\u003e\n\u003ctd\u003eaws-sdk-cloud9\u003c/td\u003e\n\u003ctd\u003e2017-09-23\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS CloudFormation\u003c/td\u003e\n\u003ctd\u003eAws::CloudFormation\u003c/td\u003e\n\u003ctd\u003eaws-sdk-cloudformation\u003c/td\u003e\n\u003ctd\u003e2010-05-15\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS CloudHSM V2\u003c/td\u003e\n\u003ctd\u003eAws::CloudHSMV2\u003c/td\u003e\n\u003ctd\u003eaws-sdk-cloudhsmv2\u003c/td\u003e\n\u003ctd\u003e2017-04-28\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS CloudTrail\u003c/td\u003e\n\u003ctd\u003eAws::CloudTrail\u003c/td\u003e\n\u003ctd\u003eaws-sdk-cloudtrail\u003c/td\u003e\n\u003ctd\u003e2013-11-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS CloudTrail Data Service\u003c/td\u003e\n\u003ctd\u003eAws::CloudTrailData\u003c/td\u003e\n\u003ctd\u003eaws-sdk-cloudtraildata\u003c/td\u003e\n\u003ctd\u003e2021-08-11\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS CodeBuild\u003c/td\u003e\n\u003ctd\u003eAws::CodeBuild\u003c/td\u003e\n\u003ctd\u003eaws-sdk-codebuild\u003c/td\u003e\n\u003ctd\u003e2016-10-06\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS CodeCommit\u003c/td\u003e\n\u003ctd\u003eAws::CodeCommit\u003c/td\u003e\n\u003ctd\u003eaws-sdk-codecommit\u003c/td\u003e\n\u003ctd\u003e2015-04-13\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS CodeConnections\u003c/td\u003e\n\u003ctd\u003eAws::CodeConnections\u003c/td\u003e\n\u003ctd\u003eaws-sdk-codeconnections\u003c/td\u003e\n\u003ctd\u003e2023-12-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS CodeDeploy\u003c/td\u003e\n\u003ctd\u003eAws::CodeDeploy\u003c/td\u003e\n\u003ctd\u003eaws-sdk-codedeploy\u003c/td\u003e\n\u003ctd\u003e2014-10-06\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS CodePipeline\u003c/td\u003e\n\u003ctd\u003eAws::CodePipeline\u003c/td\u003e\n\u003ctd\u003eaws-sdk-codepipeline\u003c/td\u003e\n\u003ctd\u003e2015-07-09\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS CodeStar Notifications\u003c/td\u003e\n\u003ctd\u003eAws::CodeStarNotifications\u003c/td\u003e\n\u003ctd\u003eaws-sdk-codestarnotifications\u003c/td\u003e\n\u003ctd\u003e2019-10-15\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS CodeStar connections\u003c/td\u003e\n\u003ctd\u003eAws::CodeStarconnections\u003c/td\u003e\n\u003ctd\u003eaws-sdk-codestarconnections\u003c/td\u003e\n\u003ctd\u003e2019-12-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Comprehend Medical\u003c/td\u003e\n\u003ctd\u003eAws::ComprehendMedical\u003c/td\u003e\n\u003ctd\u003eaws-sdk-comprehendmedical\u003c/td\u003e\n\u003ctd\u003e2018-10-30\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Compute Optimizer\u003c/td\u003e\n\u003ctd\u003eAws::ComputeOptimizer\u003c/td\u003e\n\u003ctd\u003eaws-sdk-computeoptimizer\u003c/td\u003e\n\u003ctd\u003e2019-11-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Config\u003c/td\u003e\n\u003ctd\u003eAws::ConfigService\u003c/td\u003e\n\u003ctd\u003eaws-sdk-configservice\u003c/td\u003e\n\u003ctd\u003e2014-11-12\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Control Catalog\u003c/td\u003e\n\u003ctd\u003eAws::ControlCatalog\u003c/td\u003e\n\u003ctd\u003eaws-sdk-controlcatalog\u003c/td\u003e\n\u003ctd\u003e2018-05-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Control Tower\u003c/td\u003e\n\u003ctd\u003eAws::ControlTower\u003c/td\u003e\n\u003ctd\u003eaws-sdk-controltower\u003c/td\u003e\n\u003ctd\u003e2018-05-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Cost Explorer Service\u003c/td\u003e\n\u003ctd\u003eAws::CostExplorer\u003c/td\u003e\n\u003ctd\u003eaws-sdk-costexplorer\u003c/td\u003e\n\u003ctd\u003e2017-10-25\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Cost and Usage Report Service\u003c/td\u003e\n\u003ctd\u003eAws::CostandUsageReportService\u003c/td\u003e\n\u003ctd\u003eaws-sdk-costandusagereportservice\u003c/td\u003e\n\u003ctd\u003e2017-01-06\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Data Exchange\u003c/td\u003e\n\u003ctd\u003eAws::DataExchange\u003c/td\u003e\n\u003ctd\u003eaws-sdk-dataexchange\u003c/td\u003e\n\u003ctd\u003e2017-07-25\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Data Pipeline\u003c/td\u003e\n\u003ctd\u003eAws::DataPipeline\u003c/td\u003e\n\u003ctd\u003eaws-sdk-datapipeline\u003c/td\u003e\n\u003ctd\u003e2012-10-29\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS DataSync\u003c/td\u003e\n\u003ctd\u003eAws::DataSync\u003c/td\u003e\n\u003ctd\u003eaws-sdk-datasync\u003c/td\u003e\n\u003ctd\u003e2018-11-09\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Database Migration Service\u003c/td\u003e\n\u003ctd\u003eAws::DatabaseMigrationService\u003c/td\u003e\n\u003ctd\u003eaws-sdk-databasemigrationservice\u003c/td\u003e\n\u003ctd\u003e2016-01-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Device Farm\u003c/td\u003e\n\u003ctd\u003eAws::DeviceFarm\u003c/td\u003e\n\u003ctd\u003eaws-sdk-devicefarm\u003c/td\u003e\n\u003ctd\u003e2015-06-23\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Direct Connect\u003c/td\u003e\n\u003ctd\u003eAws::DirectConnect\u003c/td\u003e\n\u003ctd\u003eaws-sdk-directconnect\u003c/td\u003e\n\u003ctd\u003e2012-10-25\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Directory Service\u003c/td\u003e\n\u003ctd\u003eAws::DirectoryService\u003c/td\u003e\n\u003ctd\u003eaws-sdk-directoryservice\u003c/td\u003e\n\u003ctd\u003e2015-04-16\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Directory Service Data\u003c/td\u003e\n\u003ctd\u003eAws::DirectoryServiceData\u003c/td\u003e\n\u003ctd\u003eaws-sdk-directoryservicedata\u003c/td\u003e\n\u003ctd\u003e2023-05-31\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS EC2 Instance Connect\u003c/td\u003e\n\u003ctd\u003eAws::EC2InstanceConnect\u003c/td\u003e\n\u003ctd\u003eaws-sdk-ec2instanceconnect\u003c/td\u003e\n\u003ctd\u003e2018-04-02\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Elastic Beanstalk\u003c/td\u003e\n\u003ctd\u003eAws::ElasticBeanstalk\u003c/td\u003e\n\u003ctd\u003eaws-sdk-elasticbeanstalk\u003c/td\u003e\n\u003ctd\u003e2010-12-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Elemental MediaConvert\u003c/td\u003e\n\u003ctd\u003eAws::MediaConvert\u003c/td\u003e\n\u003ctd\u003eaws-sdk-mediaconvert\u003c/td\u003e\n\u003ctd\u003e2017-08-29\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Elemental MediaLive\u003c/td\u003e\n\u003ctd\u003eAws::MediaLive\u003c/td\u003e\n\u003ctd\u003eaws-sdk-medialive\u003c/td\u003e\n\u003ctd\u003e2017-10-14\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Elemental MediaPackage\u003c/td\u003e\n\u003ctd\u003eAws::MediaPackage\u003c/td\u003e\n\u003ctd\u003eaws-sdk-mediapackage\u003c/td\u003e\n\u003ctd\u003e2017-10-12\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Elemental MediaPackage VOD\u003c/td\u003e\n\u003ctd\u003eAws::MediaPackageVod\u003c/td\u003e\n\u003ctd\u003eaws-sdk-mediapackagevod\u003c/td\u003e\n\u003ctd\u003e2018-11-07\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Elemental MediaPackage v2\u003c/td\u003e\n\u003ctd\u003eAws::MediaPackageV2\u003c/td\u003e\n\u003ctd\u003eaws-sdk-mediapackagev2\u003c/td\u003e\n\u003ctd\u003e2022-12-25\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Elemental MediaStore\u003c/td\u003e\n\u003ctd\u003eAws::MediaStore\u003c/td\u003e\n\u003ctd\u003eaws-sdk-mediastore\u003c/td\u003e\n\u003ctd\u003e2017-09-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Elemental MediaStore Data Plane\u003c/td\u003e\n\u003ctd\u003eAws::MediaStoreData\u003c/td\u003e\n\u003ctd\u003eaws-sdk-mediastoredata\u003c/td\u003e\n\u003ctd\u003e2017-09-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS End User Messaging Social\u003c/td\u003e\n\u003ctd\u003eAws::SocialMessaging\u003c/td\u003e\n\u003ctd\u003eaws-sdk-socialmessaging\u003c/td\u003e\n\u003ctd\u003e2024-01-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS EntityResolution\u003c/td\u003e\n\u003ctd\u003eAws::EntityResolution\u003c/td\u003e\n\u003ctd\u003eaws-sdk-entityresolution\u003c/td\u003e\n\u003ctd\u003e2018-05-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Fault Injection Simulator\u003c/td\u003e\n\u003ctd\u003eAws::FIS\u003c/td\u003e\n\u003ctd\u003eaws-sdk-fis\u003c/td\u003e\n\u003ctd\u003e2020-12-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Free Tier\u003c/td\u003e\n\u003ctd\u003eAws::FreeTier\u003c/td\u003e\n\u003ctd\u003eaws-sdk-freetier\u003c/td\u003e\n\u003ctd\u003e2023-09-07\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Global Accelerator\u003c/td\u003e\n\u003ctd\u003eAws::GlobalAccelerator\u003c/td\u003e\n\u003ctd\u003eaws-sdk-globalaccelerator\u003c/td\u003e\n\u003ctd\u003e2018-08-08\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Glue\u003c/td\u003e\n\u003ctd\u003eAws::Glue\u003c/td\u003e\n\u003ctd\u003eaws-sdk-glue\u003c/td\u003e\n\u003ctd\u003e2017-03-31\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Glue DataBrew\u003c/td\u003e\n\u003ctd\u003eAws::GlueDataBrew\u003c/td\u003e\n\u003ctd\u003eaws-sdk-gluedatabrew\u003c/td\u003e\n\u003ctd\u003e2017-07-25\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Greengrass\u003c/td\u003e\n\u003ctd\u003eAws::Greengrass\u003c/td\u003e\n\u003ctd\u003eaws-sdk-greengrass\u003c/td\u003e\n\u003ctd\u003e2017-06-07\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Ground Station\u003c/td\u003e\n\u003ctd\u003eAws::GroundStation\u003c/td\u003e\n\u003ctd\u003eaws-sdk-groundstation\u003c/td\u003e\n\u003ctd\u003e2019-05-23\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Health APIs and Notifications\u003c/td\u003e\n\u003ctd\u003eAws::Health\u003c/td\u003e\n\u003ctd\u003eaws-sdk-health\u003c/td\u003e\n\u003ctd\u003e2016-08-04\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Health Imaging\u003c/td\u003e\n\u003ctd\u003eAws::MedicalImaging\u003c/td\u003e\n\u003ctd\u003eaws-sdk-medicalimaging\u003c/td\u003e\n\u003ctd\u003e2023-07-19\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Identity and Access Management\u003c/td\u003e\n\u003ctd\u003eAws::IAM\u003c/td\u003e\n\u003ctd\u003eaws-sdk-iam\u003c/td\u003e\n\u003ctd\u003e2010-05-08\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Import/Export\u003c/td\u003e\n\u003ctd\u003eAws::ImportExport\u003c/td\u003e\n\u003ctd\u003eaws-sdk-importexport\u003c/td\u003e\n\u003ctd\u003e2010-06-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Invoicing\u003c/td\u003e\n\u003ctd\u003eAws::Invoicing\u003c/td\u003e\n\u003ctd\u003eaws-sdk-invoicing\u003c/td\u003e\n\u003ctd\u003e2024-12-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS IoT\u003c/td\u003e\n\u003ctd\u003eAws::IoT\u003c/td\u003e\n\u003ctd\u003eaws-sdk-iot\u003c/td\u003e\n\u003ctd\u003e2015-05-28\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS IoT Analytics\u003c/td\u003e\n\u003ctd\u003eAws::IoTAnalytics\u003c/td\u003e\n\u003ctd\u003eaws-sdk-iotanalytics\u003c/td\u003e\n\u003ctd\u003e2017-11-27\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS IoT Core Device Advisor\u003c/td\u003e\n\u003ctd\u003eAws::IoTDeviceAdvisor\u003c/td\u003e\n\u003ctd\u003eaws-sdk-iotdeviceadvisor\u003c/td\u003e\n\u003ctd\u003e2020-09-18\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS IoT Data Plane\u003c/td\u003e\n\u003ctd\u003eAws::IoTDataPlane\u003c/td\u003e\n\u003ctd\u003eaws-sdk-iotdataplane\u003c/td\u003e\n\u003ctd\u003e2015-05-28\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS IoT Events\u003c/td\u003e\n\u003ctd\u003eAws::IoTEvents\u003c/td\u003e\n\u003ctd\u003eaws-sdk-iotevents\u003c/td\u003e\n\u003ctd\u003e2018-07-27\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS IoT Events Data\u003c/td\u003e\n\u003ctd\u003eAws::IoTEventsData\u003c/td\u003e\n\u003ctd\u003eaws-sdk-ioteventsdata\u003c/td\u003e\n\u003ctd\u003e2018-10-23\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS IoT Fleet Hub\u003c/td\u003e\n\u003ctd\u003eAws::IoTFleetHub\u003c/td\u003e\n\u003ctd\u003eaws-sdk-iotfleethub\u003c/td\u003e\n\u003ctd\u003e2020-11-03\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS IoT FleetWise\u003c/td\u003e\n\u003ctd\u003eAws::IoTFleetWise\u003c/td\u003e\n\u003ctd\u003eaws-sdk-iotfleetwise\u003c/td\u003e\n\u003ctd\u003e2021-06-17\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS IoT Greengrass V2\u003c/td\u003e\n\u003ctd\u003eAws::GreengrassV2\u003c/td\u003e\n\u003ctd\u003eaws-sdk-greengrassv2\u003c/td\u003e\n\u003ctd\u003e2020-11-30\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS IoT Jobs Data Plane\u003c/td\u003e\n\u003ctd\u003eAws::IoTJobsDataPlane\u003c/td\u003e\n\u003ctd\u003eaws-sdk-iotjobsdataplane\u003c/td\u003e\n\u003ctd\u003e2017-09-29\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS IoT Secure Tunneling\u003c/td\u003e\n\u003ctd\u003eAws::IoTSecureTunneling\u003c/td\u003e\n\u003ctd\u003eaws-sdk-iotsecuretunneling\u003c/td\u003e\n\u003ctd\u003e2018-10-05\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS IoT SiteWise\u003c/td\u003e\n\u003ctd\u003eAws::IoTSiteWise\u003c/td\u003e\n\u003ctd\u003eaws-sdk-iotsitewise\u003c/td\u003e\n\u003ctd\u003e2019-12-02\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS IoT Things Graph\u003c/td\u003e\n\u003ctd\u003eAws::IoTThingsGraph\u003c/td\u003e\n\u003ctd\u003eaws-sdk-iotthingsgraph\u003c/td\u003e\n\u003ctd\u003e2018-09-06\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS IoT TwinMaker\u003c/td\u003e\n\u003ctd\u003eAws::IoTTwinMaker\u003c/td\u003e\n\u003ctd\u003eaws-sdk-iottwinmaker\u003c/td\u003e\n\u003ctd\u003e2021-11-29\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS IoT Wireless\u003c/td\u003e\n\u003ctd\u003eAws::IoTWireless\u003c/td\u003e\n\u003ctd\u003eaws-sdk-iotwireless\u003c/td\u003e\n\u003ctd\u003e2020-11-22\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Key Management Service\u003c/td\u003e\n\u003ctd\u003eAws::KMS\u003c/td\u003e\n\u003ctd\u003eaws-sdk-kms\u003c/td\u003e\n\u003ctd\u003e2014-11-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Lake Formation\u003c/td\u003e\n\u003ctd\u003eAws::LakeFormation\u003c/td\u003e\n\u003ctd\u003eaws-sdk-lakeformation\u003c/td\u003e\n\u003ctd\u003e2017-03-31\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Lambda\u003c/td\u003e\n\u003ctd\u003eAws::Lambda\u003c/td\u003e\n\u003ctd\u003eaws-sdk-lambda\u003c/td\u003e\n\u003ctd\u003e2015-03-31\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Launch Wizard\u003c/td\u003e\n\u003ctd\u003eAws::LaunchWizard\u003c/td\u003e\n\u003ctd\u003eaws-sdk-launchwizard\u003c/td\u003e\n\u003ctd\u003e2018-05-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS License Manager\u003c/td\u003e\n\u003ctd\u003eAws::LicenseManager\u003c/td\u003e\n\u003ctd\u003eaws-sdk-licensemanager\u003c/td\u003e\n\u003ctd\u003e2018-08-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS License Manager Linux Subscriptions\u003c/td\u003e\n\u003ctd\u003eAws::LicenseManagerLinuxSubscriptions\u003c/td\u003e\n\u003ctd\u003eaws-sdk-licensemanagerlinuxsubscriptions\u003c/td\u003e\n\u003ctd\u003e2018-05-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS License Manager User Subscriptions\u003c/td\u003e\n\u003ctd\u003eAws::LicenseManagerUserSubscriptions\u003c/td\u003e\n\u003ctd\u003eaws-sdk-licensemanagerusersubscriptions\u003c/td\u003e\n\u003ctd\u003e2018-05-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Mainframe Modernization Application Testing\u003c/td\u003e\n\u003ctd\u003eAws::AppTest\u003c/td\u003e\n\u003ctd\u003eaws-sdk-apptest\u003c/td\u003e\n\u003ctd\u003e2022-12-06\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Marketplace Agreement Service\u003c/td\u003e\n\u003ctd\u003eAws::MarketplaceAgreement\u003c/td\u003e\n\u003ctd\u003eaws-sdk-marketplaceagreement\u003c/td\u003e\n\u003ctd\u003e2020-03-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Marketplace Catalog Service\u003c/td\u003e\n\u003ctd\u003eAws::MarketplaceCatalog\u003c/td\u003e\n\u003ctd\u003eaws-sdk-marketplacecatalog\u003c/td\u003e\n\u003ctd\u003e2018-09-17\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Marketplace Commerce Analytics\u003c/td\u003e\n\u003ctd\u003eAws::MarketplaceCommerceAnalytics\u003c/td\u003e\n\u003ctd\u003eaws-sdk-marketplacecommerceanalytics\u003c/td\u003e\n\u003ctd\u003e2015-07-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Marketplace Deployment Service\u003c/td\u003e\n\u003ctd\u003eAws::MarketplaceDeployment\u003c/td\u003e\n\u003ctd\u003eaws-sdk-marketplacedeployment\u003c/td\u003e\n\u003ctd\u003e2023-01-25\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Marketplace Entitlement Service\u003c/td\u003e\n\u003ctd\u003eAws::MarketplaceEntitlementService\u003c/td\u003e\n\u003ctd\u003eaws-sdk-marketplaceentitlementservice\u003c/td\u003e\n\u003ctd\u003e2017-01-11\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Marketplace Reporting Service\u003c/td\u003e\n\u003ctd\u003eAws::MarketplaceReporting\u003c/td\u003e\n\u003ctd\u003eaws-sdk-marketplacereporting\u003c/td\u003e\n\u003ctd\u003e2018-05-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS MediaConnect\u003c/td\u003e\n\u003ctd\u003eAws::MediaConnect\u003c/td\u003e\n\u003ctd\u003eaws-sdk-mediaconnect\u003c/td\u003e\n\u003ctd\u003e2018-11-14\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS MediaTailor\u003c/td\u003e\n\u003ctd\u003eAws::MediaTailor\u003c/td\u003e\n\u003ctd\u003eaws-sdk-mediatailor\u003c/td\u003e\n\u003ctd\u003e2018-04-23\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Migration Hub\u003c/td\u003e\n\u003ctd\u003eAws::MigrationHub\u003c/td\u003e\n\u003ctd\u003eaws-sdk-migrationhub\u003c/td\u003e\n\u003ctd\u003e2017-05-31\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Migration Hub Config\u003c/td\u003e\n\u003ctd\u003eAws::MigrationHubConfig\u003c/td\u003e\n\u003ctd\u003eaws-sdk-migrationhubconfig\u003c/td\u003e\n\u003ctd\u003e2019-06-30\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Migration Hub Orchestrator\u003c/td\u003e\n\u003ctd\u003eAws::MigrationHubOrchestrator\u003c/td\u003e\n\u003ctd\u003eaws-sdk-migrationhuborchestrator\u003c/td\u003e\n\u003ctd\u003e2021-08-28\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Migration Hub Refactor Spaces\u003c/td\u003e\n\u003ctd\u003eAws::MigrationHubRefactorSpaces\u003c/td\u003e\n\u003ctd\u003eaws-sdk-migrationhubrefactorspaces\u003c/td\u003e\n\u003ctd\u003e2021-10-26\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Network Firewall\u003c/td\u003e\n\u003ctd\u003eAws::NetworkFirewall\u003c/td\u003e\n\u003ctd\u003eaws-sdk-networkfirewall\u003c/td\u003e\n\u003ctd\u003e2020-11-12\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Network Manager\u003c/td\u003e\n\u003ctd\u003eAws::NetworkManager\u003c/td\u003e\n\u003ctd\u003eaws-sdk-networkmanager\u003c/td\u003e\n\u003ctd\u003e2019-07-05\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS OpsWorks\u003c/td\u003e\n\u003ctd\u003eAws::OpsWorks\u003c/td\u003e\n\u003ctd\u003eaws-sdk-opsworks\u003c/td\u003e\n\u003ctd\u003e2013-02-18\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS OpsWorks CM\u003c/td\u003e\n\u003ctd\u003eAws::OpsWorksCM\u003c/td\u003e\n\u003ctd\u003eaws-sdk-opsworkscm\u003c/td\u003e\n\u003ctd\u003e2016-11-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Organizations\u003c/td\u003e\n\u003ctd\u003eAws::Organizations\u003c/td\u003e\n\u003ctd\u003eaws-sdk-organizations\u003c/td\u003e\n\u003ctd\u003e2016-11-28\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Outposts\u003c/td\u003e\n\u003ctd\u003eAws::Outposts\u003c/td\u003e\n\u003ctd\u003eaws-sdk-outposts\u003c/td\u003e\n\u003ctd\u003e2019-12-03\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Panorama\u003c/td\u003e\n\u003ctd\u003eAws::Panorama\u003c/td\u003e\n\u003ctd\u003eaws-sdk-panorama\u003c/td\u003e\n\u003ctd\u003e2019-07-24\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Parallel Computing Service\u003c/td\u003e\n\u003ctd\u003eAws::PCS\u003c/td\u003e\n\u003ctd\u003eaws-sdk-pcs\u003c/td\u003e\n\u003ctd\u003e2023-02-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Performance Insights\u003c/td\u003e\n\u003ctd\u003eAws::PI\u003c/td\u003e\n\u003ctd\u003eaws-sdk-pi\u003c/td\u003e\n\u003ctd\u003e2018-02-27\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Price List Service\u003c/td\u003e\n\u003ctd\u003eAws::Pricing\u003c/td\u003e\n\u003ctd\u003eaws-sdk-pricing\u003c/td\u003e\n\u003ctd\u003e2017-10-15\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Private 5G\u003c/td\u003e\n\u003ctd\u003eAws::PrivateNetworks\u003c/td\u003e\n\u003ctd\u003eaws-sdk-privatenetworks\u003c/td\u003e\n\u003ctd\u003e2021-12-03\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Proton\u003c/td\u003e\n\u003ctd\u003eAws::Proton\u003c/td\u003e\n\u003ctd\u003eaws-sdk-proton\u003c/td\u003e\n\u003ctd\u003e2020-07-20\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS RDS DataService\u003c/td\u003e\n\u003ctd\u003eAws::RDSDataService\u003c/td\u003e\n\u003ctd\u003eaws-sdk-rdsdataservice\u003c/td\u003e\n\u003ctd\u003e2018-08-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Resilience Hub\u003c/td\u003e\n\u003ctd\u003eAws::ResilienceHub\u003c/td\u003e\n\u003ctd\u003eaws-sdk-resiliencehub\u003c/td\u003e\n\u003ctd\u003e2020-04-30\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Resource Access Manager\u003c/td\u003e\n\u003ctd\u003eAws::RAM\u003c/td\u003e\n\u003ctd\u003eaws-sdk-ram\u003c/td\u003e\n\u003ctd\u003e2018-01-04\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Resource Explorer\u003c/td\u003e\n\u003ctd\u003eAws::ResourceExplorer2\u003c/td\u003e\n\u003ctd\u003eaws-sdk-resourceexplorer2\u003c/td\u003e\n\u003ctd\u003e2022-07-28\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Resource Groups\u003c/td\u003e\n\u003ctd\u003eAws::ResourceGroups\u003c/td\u003e\n\u003ctd\u003eaws-sdk-resourcegroups\u003c/td\u003e\n\u003ctd\u003e2017-11-27\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Resource Groups Tagging API\u003c/td\u003e\n\u003ctd\u003eAws::ResourceGroupsTaggingAPI\u003c/td\u003e\n\u003ctd\u003eaws-sdk-resourcegroupstaggingapi\u003c/td\u003e\n\u003ctd\u003e2017-01-26\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS RoboMaker\u003c/td\u003e\n\u003ctd\u003eAws::RoboMaker\u003c/td\u003e\n\u003ctd\u003eaws-sdk-robomaker\u003c/td\u003e\n\u003ctd\u003e2018-06-29\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Route53 Recovery Control Config\u003c/td\u003e\n\u003ctd\u003eAws::Route53RecoveryControlConfig\u003c/td\u003e\n\u003ctd\u003eaws-sdk-route53recoverycontrolconfig\u003c/td\u003e\n\u003ctd\u003e2020-11-02\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Route53 Recovery Readiness\u003c/td\u003e\n\u003ctd\u003eAws::Route53RecoveryReadiness\u003c/td\u003e\n\u003ctd\u003eaws-sdk-route53recoveryreadiness\u003c/td\u003e\n\u003ctd\u003e2019-12-02\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS S3 Control\u003c/td\u003e\n\u003ctd\u003eAws::S3Control\u003c/td\u003e\n\u003ctd\u003eaws-sdk-s3control\u003c/td\u003e\n\u003ctd\u003e2018-08-20\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS SSO Identity Store\u003c/td\u003e\n\u003ctd\u003eAws::IdentityStore\u003c/td\u003e\n\u003ctd\u003eaws-sdk-identitystore\u003c/td\u003e\n\u003ctd\u003e2020-06-15\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS SSO OIDC\u003c/td\u003e\n\u003ctd\u003eAws::SSOOIDC\u003c/td\u003e\n\u003ctd\u003eaws-sdk-core\u003c/td\u003e\n\u003ctd\u003e2019-06-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Savings Plans\u003c/td\u003e\n\u003ctd\u003eAws::SavingsPlans\u003c/td\u003e\n\u003ctd\u003eaws-sdk-savingsplans\u003c/td\u003e\n\u003ctd\u003e2019-06-28\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Secrets Manager\u003c/td\u003e\n\u003ctd\u003eAws::SecretsManager\u003c/td\u003e\n\u003ctd\u003eaws-sdk-secretsmanager\u003c/td\u003e\n\u003ctd\u003e2017-10-17\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Security Token Service\u003c/td\u003e\n\u003ctd\u003eAws::STS\u003c/td\u003e\n\u003ctd\u003eaws-sdk-core\u003c/td\u003e\n\u003ctd\u003e2011-06-15\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS SecurityHub\u003c/td\u003e\n\u003ctd\u003eAws::SecurityHub\u003c/td\u003e\n\u003ctd\u003eaws-sdk-securityhub\u003c/td\u003e\n\u003ctd\u003e2018-10-26\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Server Migration Service\u003c/td\u003e\n\u003ctd\u003eAws::SMS\u003c/td\u003e\n\u003ctd\u003eaws-sdk-sms\u003c/td\u003e\n\u003ctd\u003e2016-10-24\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Service Catalog\u003c/td\u003e\n\u003ctd\u003eAws::ServiceCatalog\u003c/td\u003e\n\u003ctd\u003eaws-sdk-servicecatalog\u003c/td\u003e\n\u003ctd\u003e2015-12-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Service Catalog App Registry\u003c/td\u003e\n\u003ctd\u003eAws::AppRegistry\u003c/td\u003e\n\u003ctd\u003eaws-sdk-appregistry\u003c/td\u003e\n\u003ctd\u003e2020-06-24\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Shield\u003c/td\u003e\n\u003ctd\u003eAws::Shield\u003c/td\u003e\n\u003ctd\u003eaws-sdk-shield\u003c/td\u003e\n\u003ctd\u003e2016-06-02\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Signer\u003c/td\u003e\n\u003ctd\u003eAws::Signer\u003c/td\u003e\n\u003ctd\u003eaws-sdk-signer\u003c/td\u003e\n\u003ctd\u003e2017-08-25\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS SimSpace Weaver\u003c/td\u003e\n\u003ctd\u003eAws::SimSpaceWeaver\u003c/td\u003e\n\u003ctd\u003eaws-sdk-simspaceweaver\u003c/td\u003e\n\u003ctd\u003e2022-10-28\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Single Sign-On\u003c/td\u003e\n\u003ctd\u003eAws::SSO\u003c/td\u003e\n\u003ctd\u003eaws-sdk-core\u003c/td\u003e\n\u003ctd\u003e2019-06-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Single Sign-On Admin\u003c/td\u003e\n\u003ctd\u003eAws::SSOAdmin\u003c/td\u003e\n\u003ctd\u003eaws-sdk-ssoadmin\u003c/td\u003e\n\u003ctd\u003e2020-07-20\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Snow Device Management\u003c/td\u003e\n\u003ctd\u003eAws::SnowDeviceManagement\u003c/td\u003e\n\u003ctd\u003eaws-sdk-snowdevicemanagement\u003c/td\u003e\n\u003ctd\u003e2021-08-04\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Step Functions\u003c/td\u003e\n\u003ctd\u003eAws::States\u003c/td\u003e\n\u003ctd\u003eaws-sdk-states\u003c/td\u003e\n\u003ctd\u003e2016-11-23\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Storage Gateway\u003c/td\u003e\n\u003ctd\u003eAws::StorageGateway\u003c/td\u003e\n\u003ctd\u003eaws-sdk-storagegateway\u003c/td\u003e\n\u003ctd\u003e2013-06-30\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Supply Chain\u003c/td\u003e\n\u003ctd\u003eAws::SupplyChain\u003c/td\u003e\n\u003ctd\u003eaws-sdk-supplychain\u003c/td\u003e\n\u003ctd\u003e2024-01-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Support\u003c/td\u003e\n\u003ctd\u003eAws::Support\u003c/td\u003e\n\u003ctd\u003eaws-sdk-support\u003c/td\u003e\n\u003ctd\u003e2013-04-15\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Support App\u003c/td\u003e\n\u003ctd\u003eAws::SupportApp\u003c/td\u003e\n\u003ctd\u003eaws-sdk-supportapp\u003c/td\u003e\n\u003ctd\u003e2021-08-20\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Systems Manager Incident Manager\u003c/td\u003e\n\u003ctd\u003eAws::SSMIncidents\u003c/td\u003e\n\u003ctd\u003eaws-sdk-ssmincidents\u003c/td\u003e\n\u003ctd\u003e2018-05-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Systems Manager Incident Manager Contacts\u003c/td\u003e\n\u003ctd\u003eAws::SSMContacts\u003c/td\u003e\n\u003ctd\u003eaws-sdk-ssmcontacts\u003c/td\u003e\n\u003ctd\u003e2021-05-03\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Systems Manager QuickSetup\u003c/td\u003e\n\u003ctd\u003eAws::SSMQuickSetup\u003c/td\u003e\n\u003ctd\u003eaws-sdk-ssmquicksetup\u003c/td\u003e\n\u003ctd\u003e2018-05-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Systems Manager for SAP\u003c/td\u003e\n\u003ctd\u003eAws::SsmSap\u003c/td\u003e\n\u003ctd\u003eaws-sdk-ssmsap\u003c/td\u003e\n\u003ctd\u003e2018-05-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Telco Network Builder\u003c/td\u003e\n\u003ctd\u003eAws::Tnb\u003c/td\u003e\n\u003ctd\u003eaws-sdk-tnb\u003c/td\u003e\n\u003ctd\u003e2008-10-21\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Transfer Family\u003c/td\u003e\n\u003ctd\u003eAws::Transfer\u003c/td\u003e\n\u003ctd\u003eaws-sdk-transfer\u003c/td\u003e\n\u003ctd\u003e2018-11-05\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS User Notifications\u003c/td\u003e\n\u003ctd\u003eAws::Notifications\u003c/td\u003e\n\u003ctd\u003eaws-sdk-notifications\u003c/td\u003e\n\u003ctd\u003e2018-05-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS User Notifications Contacts\u003c/td\u003e\n\u003ctd\u003eAws::NotificationsContacts\u003c/td\u003e\n\u003ctd\u003eaws-sdk-notificationscontacts\u003c/td\u003e\n\u003ctd\u003e2018-05-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS WAF\u003c/td\u003e\n\u003ctd\u003eAws::WAF\u003c/td\u003e\n\u003ctd\u003eaws-sdk-waf\u003c/td\u003e\n\u003ctd\u003e2015-08-24\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS WAF Regional\u003c/td\u003e\n\u003ctd\u003eAws::WAFRegional\u003c/td\u003e\n\u003ctd\u003eaws-sdk-wafregional\u003c/td\u003e\n\u003ctd\u003e2016-11-28\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS WAFV2\u003c/td\u003e\n\u003ctd\u003eAws::WAFV2\u003c/td\u003e\n\u003ctd\u003eaws-sdk-wafv2\u003c/td\u003e\n\u003ctd\u003e2019-07-29\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS Well-Architected Tool\u003c/td\u003e\n\u003ctd\u003eAws::WellArchitected\u003c/td\u003e\n\u003ctd\u003eaws-sdk-wellarchitected\u003c/td\u003e\n\u003ctd\u003e2020-03-31\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS X-Ray\u003c/td\u003e\n\u003ctd\u003eAws::XRay\u003c/td\u003e\n\u003ctd\u003eaws-sdk-xray\u003c/td\u003e\n\u003ctd\u003e2016-04-12\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWS re:Post Private\u003c/td\u003e\n\u003ctd\u003eAws::Repostspace\u003c/td\u003e\n\u003ctd\u003eaws-sdk-repostspace\u003c/td\u003e\n\u003ctd\u003e2022-05-13\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWSBillingConductor\u003c/td\u003e\n\u003ctd\u003eAws::BillingConductor\u003c/td\u003e\n\u003ctd\u003eaws-sdk-billingconductor\u003c/td\u003e\n\u003ctd\u003e2021-07-30\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWSDeadlineCloud\u003c/td\u003e\n\u003ctd\u003eAws::Deadline\u003c/td\u003e\n\u003ctd\u003eaws-sdk-deadline\u003c/td\u003e\n\u003ctd\u003e2023-10-12\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWSKendraFrontendService\u003c/td\u003e\n\u003ctd\u003eAws::Kendra\u003c/td\u003e\n\u003ctd\u003eaws-sdk-kendra\u003c/td\u003e\n\u003ctd\u003e2019-02-03\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWSMainframeModernization\u003c/td\u003e\n\u003ctd\u003eAws::MainframeModernization\u003c/td\u003e\n\u003ctd\u003eaws-sdk-mainframemodernization\u003c/td\u003e\n\u003ctd\u003e2021-04-28\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWSMarketplace Metering\u003c/td\u003e\n\u003ctd\u003eAws::MarketplaceMetering\u003c/td\u003e\n\u003ctd\u003eaws-sdk-marketplacemetering\u003c/td\u003e\n\u003ctd\u003e2016-01-14\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAWSServerlessApplicationRepository\u003c/td\u003e\n\u003ctd\u003eAws::ServerlessApplicationRepository\u003c/td\u003e\n\u003ctd\u003eaws-sdk-serverlessapplicationrepository\u003c/td\u003e\n\u003ctd\u003e2017-09-08\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAccess Analyzer\u003c/td\u003e\n\u003ctd\u003eAws::AccessAnalyzer\u003c/td\u003e\n\u003ctd\u003eaws-sdk-accessanalyzer\u003c/td\u003e\n\u003ctd\u003e2019-11-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAgents for Amazon Bedrock\u003c/td\u003e\n\u003ctd\u003eAws::BedrockAgent\u003c/td\u003e\n\u003ctd\u003eaws-sdk-bedrockagent\u003c/td\u003e\n\u003ctd\u003e2023-06-05\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAgents for Amazon Bedrock Runtime\u003c/td\u003e\n\u003ctd\u003eAws::BedrockAgentRuntime\u003c/td\u003e\n\u003ctd\u003eaws-sdk-bedrockagentruntime\u003c/td\u003e\n\u003ctd\u003e2023-07-26\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon API Gateway\u003c/td\u003e\n\u003ctd\u003eAws::APIGateway\u003c/td\u003e\n\u003ctd\u003eaws-sdk-apigateway\u003c/td\u003e\n\u003ctd\u003e2015-07-09\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon AppConfig\u003c/td\u003e\n\u003ctd\u003eAws::AppConfig\u003c/td\u003e\n\u003ctd\u003eaws-sdk-appconfig\u003c/td\u003e\n\u003ctd\u003e2019-10-09\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon AppIntegrations Service\u003c/td\u003e\n\u003ctd\u003eAws::AppIntegrationsService\u003c/td\u003e\n\u003ctd\u003eaws-sdk-appintegrationsservice\u003c/td\u003e\n\u003ctd\u003e2020-07-29\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon AppStream\u003c/td\u003e\n\u003ctd\u003eAws::AppStream\u003c/td\u003e\n\u003ctd\u003eaws-sdk-appstream\u003c/td\u003e\n\u003ctd\u003e2016-12-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Appflow\u003c/td\u003e\n\u003ctd\u003eAws::Appflow\u003c/td\u003e\n\u003ctd\u003eaws-sdk-appflow\u003c/td\u003e\n\u003ctd\u003e2020-08-23\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Athena\u003c/td\u003e\n\u003ctd\u003eAws::Athena\u003c/td\u003e\n\u003ctd\u003eaws-sdk-athena\u003c/td\u003e\n\u003ctd\u003e2017-05-18\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Augmented AI Runtime\u003c/td\u003e\n\u003ctd\u003eAws::AugmentedAIRuntime\u003c/td\u003e\n\u003ctd\u003eaws-sdk-augmentedairuntime\u003c/td\u003e\n\u003ctd\u003e2019-11-07\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Aurora DSQL\u003c/td\u003e\n\u003ctd\u003eAws::DSQL\u003c/td\u003e\n\u003ctd\u003eaws-sdk-dsql\u003c/td\u003e\n\u003ctd\u003e2018-05-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Bedrock\u003c/td\u003e\n\u003ctd\u003eAws::Bedrock\u003c/td\u003e\n\u003ctd\u003eaws-sdk-bedrock\u003c/td\u003e\n\u003ctd\u003e2023-04-20\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Bedrock Runtime\u003c/td\u003e\n\u003ctd\u003eAws::BedrockRuntime\u003c/td\u003e\n\u003ctd\u003eaws-sdk-bedrockruntime\u003c/td\u003e\n\u003ctd\u003e2023-09-30\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Chime\u003c/td\u003e\n\u003ctd\u003eAws::Chime\u003c/td\u003e\n\u003ctd\u003eaws-sdk-chime\u003c/td\u003e\n\u003ctd\u003e2018-05-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Chime SDK Identity\u003c/td\u003e\n\u003ctd\u003eAws::ChimeSDKIdentity\u003c/td\u003e\n\u003ctd\u003eaws-sdk-chimesdkidentity\u003c/td\u003e\n\u003ctd\u003e2021-04-20\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Chime SDK Media Pipelines\u003c/td\u003e\n\u003ctd\u003eAws::ChimeSDKMediaPipelines\u003c/td\u003e\n\u003ctd\u003eaws-sdk-chimesdkmediapipelines\u003c/td\u003e\n\u003ctd\u003e2021-07-15\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Chime SDK Meetings\u003c/td\u003e\n\u003ctd\u003eAws::ChimeSDKMeetings\u003c/td\u003e\n\u003ctd\u003eaws-sdk-chimesdkmeetings\u003c/td\u003e\n\u003ctd\u003e2021-07-15\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Chime SDK Messaging\u003c/td\u003e\n\u003ctd\u003eAws::ChimeSDKMessaging\u003c/td\u003e\n\u003ctd\u003eaws-sdk-chimesdkmessaging\u003c/td\u003e\n\u003ctd\u003e2021-05-15\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Chime SDK Voice\u003c/td\u003e\n\u003ctd\u003eAws::ChimeSDKVoice\u003c/td\u003e\n\u003ctd\u003eaws-sdk-chimesdkvoice\u003c/td\u003e\n\u003ctd\u003e2022-08-03\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon CloudDirectory\u003c/td\u003e\n\u003ctd\u003eAws::CloudDirectory\u003c/td\u003e\n\u003ctd\u003eaws-sdk-clouddirectory\u003c/td\u003e\n\u003ctd\u003e2017-01-11\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon CloudFront\u003c/td\u003e\n\u003ctd\u003eAws::CloudFront\u003c/td\u003e\n\u003ctd\u003eaws-sdk-cloudfront\u003c/td\u003e\n\u003ctd\u003e2020-05-31\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon CloudFront KeyValueStore\u003c/td\u003e\n\u003ctd\u003eAws::CloudFrontKeyValueStore\u003c/td\u003e\n\u003ctd\u003eaws-sdk-cloudfrontkeyvaluestore\u003c/td\u003e\n\u003ctd\u003e2022-07-26\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon CloudHSM\u003c/td\u003e\n\u003ctd\u003eAws::CloudHSM\u003c/td\u003e\n\u003ctd\u003eaws-sdk-cloudhsm\u003c/td\u003e\n\u003ctd\u003e2014-05-30\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon CloudSearch\u003c/td\u003e\n\u003ctd\u003eAws::CloudSearch\u003c/td\u003e\n\u003ctd\u003eaws-sdk-cloudsearch\u003c/td\u003e\n\u003ctd\u003e2013-01-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon CloudSearch Domain\u003c/td\u003e\n\u003ctd\u003eAws::CloudSearchDomain\u003c/td\u003e\n\u003ctd\u003eaws-sdk-cloudsearchdomain\u003c/td\u003e\n\u003ctd\u003e2013-01-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon CloudWatch\u003c/td\u003e\n\u003ctd\u003eAws::CloudWatch\u003c/td\u003e\n\u003ctd\u003eaws-sdk-cloudwatch\u003c/td\u003e\n\u003ctd\u003e2010-08-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon CloudWatch Application Insights\u003c/td\u003e\n\u003ctd\u003eAws::ApplicationInsights\u003c/td\u003e\n\u003ctd\u003eaws-sdk-applicationinsights\u003c/td\u003e\n\u003ctd\u003e2018-11-25\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon CloudWatch Application Signals\u003c/td\u003e\n\u003ctd\u003eAws::ApplicationSignals\u003c/td\u003e\n\u003ctd\u003eaws-sdk-applicationsignals\u003c/td\u003e\n\u003ctd\u003e2024-04-15\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon CloudWatch Events\u003c/td\u003e\n\u003ctd\u003eAws::CloudWatchEvents\u003c/td\u003e\n\u003ctd\u003eaws-sdk-cloudwatchevents\u003c/td\u003e\n\u003ctd\u003e2015-10-07\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon CloudWatch Evidently\u003c/td\u003e\n\u003ctd\u003eAws::CloudWatchEvidently\u003c/td\u003e\n\u003ctd\u003eaws-sdk-cloudwatchevidently\u003c/td\u003e\n\u003ctd\u003e2021-02-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon CloudWatch Internet Monitor\u003c/td\u003e\n\u003ctd\u003eAws::InternetMonitor\u003c/td\u003e\n\u003ctd\u003eaws-sdk-internetmonitor\u003c/td\u003e\n\u003ctd\u003e2021-06-03\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon CloudWatch Logs\u003c/td\u003e\n\u003ctd\u003eAws::CloudWatchLogs\u003c/td\u003e\n\u003ctd\u003eaws-sdk-cloudwatchlogs\u003c/td\u003e\n\u003ctd\u003e2014-03-28\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon CloudWatch Network Monitor\u003c/td\u003e\n\u003ctd\u003eAws::NetworkMonitor\u003c/td\u003e\n\u003ctd\u003eaws-sdk-networkmonitor\u003c/td\u003e\n\u003ctd\u003e2023-08-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon CodeCatalyst\u003c/td\u003e\n\u003ctd\u003eAws::CodeCatalyst\u003c/td\u003e\n\u003ctd\u003eaws-sdk-codecatalyst\u003c/td\u003e\n\u003ctd\u003e2022-09-28\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon CodeGuru Profiler\u003c/td\u003e\n\u003ctd\u003eAws::CodeGuruProfiler\u003c/td\u003e\n\u003ctd\u003eaws-sdk-codeguruprofiler\u003c/td\u003e\n\u003ctd\u003e2019-07-18\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon CodeGuru Reviewer\u003c/td\u003e\n\u003ctd\u003eAws::CodeGuruReviewer\u003c/td\u003e\n\u003ctd\u003eaws-sdk-codegurureviewer\u003c/td\u003e\n\u003ctd\u003e2019-09-19\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon CodeGuru Security\u003c/td\u003e\n\u003ctd\u003eAws::CodeGuruSecurity\u003c/td\u003e\n\u003ctd\u003eaws-sdk-codegurusecurity\u003c/td\u003e\n\u003ctd\u003e2018-05-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Cognito Identity\u003c/td\u003e\n\u003ctd\u003eAws::CognitoIdentity\u003c/td\u003e\n\u003ctd\u003eaws-sdk-cognitoidentity\u003c/td\u003e\n\u003ctd\u003e2014-06-30\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Cognito Identity Provider\u003c/td\u003e\n\u003ctd\u003eAws::CognitoIdentityProvider\u003c/td\u003e\n\u003ctd\u003eaws-sdk-cognitoidentityprovider\u003c/td\u003e\n\u003ctd\u003e2016-04-18\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Cognito Sync\u003c/td\u003e\n\u003ctd\u003eAws::CognitoSync\u003c/td\u003e\n\u003ctd\u003eaws-sdk-cognitosync\u003c/td\u003e\n\u003ctd\u003e2014-06-30\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Comprehend\u003c/td\u003e\n\u003ctd\u003eAws::Comprehend\u003c/td\u003e\n\u003ctd\u003eaws-sdk-comprehend\u003c/td\u003e\n\u003ctd\u003e2017-11-27\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Connect Cases\u003c/td\u003e\n\u003ctd\u003eAws::ConnectCases\u003c/td\u003e\n\u003ctd\u003eaws-sdk-connectcases\u003c/td\u003e\n\u003ctd\u003e2022-10-03\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Connect Contact Lens\u003c/td\u003e\n\u003ctd\u003eAws::ConnectContactLens\u003c/td\u003e\n\u003ctd\u003eaws-sdk-connectcontactlens\u003c/td\u003e\n\u003ctd\u003e2020-08-21\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Connect Customer Profiles\u003c/td\u003e\n\u003ctd\u003eAws::CustomerProfiles\u003c/td\u003e\n\u003ctd\u003eaws-sdk-customerprofiles\u003c/td\u003e\n\u003ctd\u003e2020-08-15\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Connect Participant Service\u003c/td\u003e\n\u003ctd\u003eAws::ConnectParticipant\u003c/td\u003e\n\u003ctd\u003eaws-sdk-connectparticipant\u003c/td\u003e\n\u003ctd\u003e2018-09-07\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Connect Service\u003c/td\u003e\n\u003ctd\u003eAws::Connect\u003c/td\u003e\n\u003ctd\u003eaws-sdk-connect\u003c/td\u003e\n\u003ctd\u003e2017-08-08\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Connect Wisdom Service\u003c/td\u003e\n\u003ctd\u003eAws::ConnectWisdomService\u003c/td\u003e\n\u003ctd\u003eaws-sdk-connectwisdomservice\u003c/td\u003e\n\u003ctd\u003e2020-10-19\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Data Lifecycle Manager\u003c/td\u003e\n\u003ctd\u003eAws::DLM\u003c/td\u003e\n\u003ctd\u003eaws-sdk-dlm\u003c/td\u003e\n\u003ctd\u003e2018-01-12\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon DataZone\u003c/td\u003e\n\u003ctd\u003eAws::DataZone\u003c/td\u003e\n\u003ctd\u003eaws-sdk-datazone\u003c/td\u003e\n\u003ctd\u003e2018-05-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Detective\u003c/td\u003e\n\u003ctd\u003eAws::Detective\u003c/td\u003e\n\u003ctd\u003eaws-sdk-detective\u003c/td\u003e\n\u003ctd\u003e2018-10-26\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon DevOps Guru\u003c/td\u003e\n\u003ctd\u003eAws::DevOpsGuru\u003c/td\u003e\n\u003ctd\u003eaws-sdk-devopsguru\u003c/td\u003e\n\u003ctd\u003e2020-12-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon DocumentDB Elastic Clusters\u003c/td\u003e\n\u003ctd\u003eAws::DocDBElastic\u003c/td\u003e\n\u003ctd\u003eaws-sdk-docdbelastic\u003c/td\u003e\n\u003ctd\u003e2022-11-28\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon DocumentDB with MongoDB compatibility\u003c/td\u003e\n\u003ctd\u003eAws::DocDB\u003c/td\u003e\n\u003ctd\u003eaws-sdk-docdb\u003c/td\u003e\n\u003ctd\u003e2014-10-31\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon DynamoDB\u003c/td\u003e\n\u003ctd\u003eAws::DynamoDB\u003c/td\u003e\n\u003ctd\u003eaws-sdk-dynamodb\u003c/td\u003e\n\u003ctd\u003e2012-08-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon DynamoDB Accelerator (DAX)\u003c/td\u003e\n\u003ctd\u003eAws::DAX\u003c/td\u003e\n\u003ctd\u003eaws-sdk-dax\u003c/td\u003e\n\u003ctd\u003e2017-04-19\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon DynamoDB Streams\u003c/td\u003e\n\u003ctd\u003eAws::DynamoDBStreams\u003c/td\u003e\n\u003ctd\u003eaws-sdk-dynamodbstreams\u003c/td\u003e\n\u003ctd\u003e2012-08-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon EC2 Container Service\u003c/td\u003e\n\u003ctd\u003eAws::ECS\u003c/td\u003e\n\u003ctd\u003eaws-sdk-ecs\u003c/td\u003e\n\u003ctd\u003e2014-11-13\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon EKS Auth\u003c/td\u003e\n\u003ctd\u003eAws::EKSAuth\u003c/td\u003e\n\u003ctd\u003eaws-sdk-eksauth\u003c/td\u003e\n\u003ctd\u003e2023-11-26\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon EMR\u003c/td\u003e\n\u003ctd\u003eAws::EMR\u003c/td\u003e\n\u003ctd\u003eaws-sdk-emr\u003c/td\u003e\n\u003ctd\u003e2009-03-31\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon EMR Containers\u003c/td\u003e\n\u003ctd\u003eAws::EMRContainers\u003c/td\u003e\n\u003ctd\u003eaws-sdk-emrcontainers\u003c/td\u003e\n\u003ctd\u003e2020-10-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon ElastiCache\u003c/td\u003e\n\u003ctd\u003eAws::ElastiCache\u003c/td\u003e\n\u003ctd\u003eaws-sdk-elasticache\u003c/td\u003e\n\u003ctd\u003e2015-02-02\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Elastic Block Store\u003c/td\u003e\n\u003ctd\u003eAws::EBS\u003c/td\u003e\n\u003ctd\u003eaws-sdk-ebs\u003c/td\u003e\n\u003ctd\u003e2019-11-02\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Elastic Compute Cloud\u003c/td\u003e\n\u003ctd\u003eAws::EC2\u003c/td\u003e\n\u003ctd\u003eaws-sdk-ec2\u003c/td\u003e\n\u003ctd\u003e2016-11-15\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Elastic Container Registry\u003c/td\u003e\n\u003ctd\u003eAws::ECR\u003c/td\u003e\n\u003ctd\u003eaws-sdk-ecr\u003c/td\u003e\n\u003ctd\u003e2015-09-21\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Elastic Container Registry Public\u003c/td\u003e\n\u003ctd\u003eAws::ECRPublic\u003c/td\u003e\n\u003ctd\u003eaws-sdk-ecrpublic\u003c/td\u003e\n\u003ctd\u003e2020-10-30\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Elastic File System\u003c/td\u003e\n\u003ctd\u003eAws::EFS\u003c/td\u003e\n\u003ctd\u003eaws-sdk-efs\u003c/td\u003e\n\u003ctd\u003e2015-02-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Elastic Kubernetes Service\u003c/td\u003e\n\u003ctd\u003eAws::EKS\u003c/td\u003e\n\u003ctd\u003eaws-sdk-eks\u003c/td\u003e\n\u003ctd\u003e2017-11-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Elastic Transcoder\u003c/td\u003e\n\u003ctd\u003eAws::ElasticTranscoder\u003c/td\u003e\n\u003ctd\u003eaws-sdk-elastictranscoder\u003c/td\u003e\n\u003ctd\u003e2012-09-25\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Elasticsearch Service\u003c/td\u003e\n\u003ctd\u003eAws::ElasticsearchService\u003c/td\u003e\n\u003ctd\u003eaws-sdk-elasticsearchservice\u003c/td\u003e\n\u003ctd\u003e2015-01-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon EventBridge\u003c/td\u003e\n\u003ctd\u003eAws::EventBridge\u003c/td\u003e\n\u003ctd\u003eaws-sdk-eventbridge\u003c/td\u003e\n\u003ctd\u003e2015-10-07\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon EventBridge Pipes\u003c/td\u003e\n\u003ctd\u003eAws::Pipes\u003c/td\u003e\n\u003ctd\u003eaws-sdk-pipes\u003c/td\u003e\n\u003ctd\u003e2015-10-07\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon EventBridge Scheduler\u003c/td\u003e\n\u003ctd\u003eAws::Scheduler\u003c/td\u003e\n\u003ctd\u003eaws-sdk-scheduler\u003c/td\u003e\n\u003ctd\u003e2021-06-30\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon FSx\u003c/td\u003e\n\u003ctd\u003eAws::FSx\u003c/td\u003e\n\u003ctd\u003eaws-sdk-fsx\u003c/td\u003e\n\u003ctd\u003e2018-03-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Forecast Query Service\u003c/td\u003e\n\u003ctd\u003eAws::ForecastQueryService\u003c/td\u003e\n\u003ctd\u003eaws-sdk-forecastqueryservice\u003c/td\u003e\n\u003ctd\u003e2018-06-26\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Forecast Service\u003c/td\u003e\n\u003ctd\u003eAws::ForecastService\u003c/td\u003e\n\u003ctd\u003eaws-sdk-forecastservice\u003c/td\u003e\n\u003ctd\u003e2018-06-26\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Fraud Detector\u003c/td\u003e\n\u003ctd\u003eAws::FraudDetector\u003c/td\u003e\n\u003ctd\u003eaws-sdk-frauddetector\u003c/td\u003e\n\u003ctd\u003e2019-11-15\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon GameLift\u003c/td\u003e\n\u003ctd\u003eAws::GameLift\u003c/td\u003e\n\u003ctd\u003eaws-sdk-gamelift\u003c/td\u003e\n\u003ctd\u003e2015-10-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon GameLift Streams\u003c/td\u003e\n\u003ctd\u003eAws::GameLiftStreams\u003c/td\u003e\n\u003ctd\u003eaws-sdk-gameliftstreams\u003c/td\u003e\n\u003ctd\u003e2018-05-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Glacier\u003c/td\u003e\n\u003ctd\u003eAws::Glacier\u003c/td\u003e\n\u003ctd\u003eaws-sdk-glacier\u003c/td\u003e\n\u003ctd\u003e2012-06-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon GuardDuty\u003c/td\u003e\n\u003ctd\u003eAws::GuardDuty\u003c/td\u003e\n\u003ctd\u003eaws-sdk-guardduty\u003c/td\u003e\n\u003ctd\u003e2017-11-28\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon HealthLake\u003c/td\u003e\n\u003ctd\u003eAws::HealthLake\u003c/td\u003e\n\u003ctd\u003eaws-sdk-healthlake\u003c/td\u003e\n\u003ctd\u003e2017-07-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Import/Export Snowball\u003c/td\u003e\n\u003ctd\u003eAws::Snowball\u003c/td\u003e\n\u003ctd\u003eaws-sdk-snowball\u003c/td\u003e\n\u003ctd\u003e2016-06-30\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Inspector\u003c/td\u003e\n\u003ctd\u003eAws::Inspector\u003c/td\u003e\n\u003ctd\u003eaws-sdk-inspector\u003c/td\u003e\n\u003ctd\u003e2016-02-16\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Interactive Video Service\u003c/td\u003e\n\u003ctd\u003eAws::IVS\u003c/td\u003e\n\u003ctd\u003eaws-sdk-ivs\u003c/td\u003e\n\u003ctd\u003e2020-07-14\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Interactive Video Service Chat\u003c/td\u003e\n\u003ctd\u003eAws::Ivschat\u003c/td\u003e\n\u003ctd\u003eaws-sdk-ivschat\u003c/td\u003e\n\u003ctd\u003e2020-07-14\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Interactive Video Service RealTime\u003c/td\u003e\n\u003ctd\u003eAws::IVSRealTime\u003c/td\u003e\n\u003ctd\u003eaws-sdk-ivsrealtime\u003c/td\u003e\n\u003ctd\u003e2020-07-14\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Kendra Intelligent Ranking\u003c/td\u003e\n\u003ctd\u003eAws::KendraRanking\u003c/td\u003e\n\u003ctd\u003eaws-sdk-kendraranking\u003c/td\u003e\n\u003ctd\u003e2022-10-19\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Keyspaces\u003c/td\u003e\n\u003ctd\u003eAws::Keyspaces\u003c/td\u003e\n\u003ctd\u003eaws-sdk-keyspaces\u003c/td\u003e\n\u003ctd\u003e2022-02-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Kinesis\u003c/td\u003e\n\u003ctd\u003eAws::Kinesis\u003c/td\u003e\n\u003ctd\u003eaws-sdk-kinesis\u003c/td\u003e\n\u003ctd\u003e2013-12-02\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Kinesis Analytics\u003c/td\u003e\n\u003ctd\u003eAws::KinesisAnalytics\u003c/td\u003e\n\u003ctd\u003eaws-sdk-kinesisanalytics\u003c/td\u003e\n\u003ctd\u003e2015-08-14\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Kinesis Analytics\u003c/td\u003e\n\u003ctd\u003eAws::KinesisAnalyticsV2\u003c/td\u003e\n\u003ctd\u003eaws-sdk-kinesisanalyticsv2\u003c/td\u003e\n\u003ctd\u003e2018-05-23\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Kinesis Firehose\u003c/td\u003e\n\u003ctd\u003eAws::Firehose\u003c/td\u003e\n\u003ctd\u003eaws-sdk-firehose\u003c/td\u003e\n\u003ctd\u003e2015-08-04\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Kinesis Video Signaling Channels\u003c/td\u003e\n\u003ctd\u003eAws::KinesisVideoSignalingChannels\u003c/td\u003e\n\u003ctd\u003eaws-sdk-kinesisvideosignalingchannels\u003c/td\u003e\n\u003ctd\u003e2019-12-04\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Kinesis Video Streams\u003c/td\u003e\n\u003ctd\u003eAws::KinesisVideo\u003c/td\u003e\n\u003ctd\u003eaws-sdk-kinesisvideo\u003c/td\u003e\n\u003ctd\u003e2017-09-30\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Kinesis Video Streams Archived Media\u003c/td\u003e\n\u003ctd\u003eAws::KinesisVideoArchivedMedia\u003c/td\u003e\n\u003ctd\u003eaws-sdk-kinesisvideoarchivedmedia\u003c/td\u003e\n\u003ctd\u003e2017-09-30\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Kinesis Video Streams Media\u003c/td\u003e\n\u003ctd\u003eAws::KinesisVideoMedia\u003c/td\u003e\n\u003ctd\u003eaws-sdk-kinesisvideomedia\u003c/td\u003e\n\u003ctd\u003e2017-09-30\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Kinesis Video WebRTC Storage\u003c/td\u003e\n\u003ctd\u003eAws::KinesisVideoWebRTCStorage\u003c/td\u003e\n\u003ctd\u003eaws-sdk-kinesisvideowebrtcstorage\u003c/td\u003e\n\u003ctd\u003e2018-05-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Lex Model Building Service\u003c/td\u003e\n\u003ctd\u003eAws::LexModelBuildingService\u003c/td\u003e\n\u003ctd\u003eaws-sdk-lexmodelbuildingservice\u003c/td\u003e\n\u003ctd\u003e2017-04-19\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Lex Model Building V2\u003c/td\u003e\n\u003ctd\u003eAws::LexModelsV2\u003c/td\u003e\n\u003ctd\u003eaws-sdk-lexmodelsv2\u003c/td\u003e\n\u003ctd\u003e2020-08-07\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Lex Runtime Service\u003c/td\u003e\n\u003ctd\u003eAws::Lex\u003c/td\u003e\n\u003ctd\u003eaws-sdk-lex\u003c/td\u003e\n\u003ctd\u003e2016-11-28\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Lex Runtime V2\u003c/td\u003e\n\u003ctd\u003eAws::LexRuntimeV2\u003c/td\u003e\n\u003ctd\u003eaws-sdk-lexruntimev2\u003c/td\u003e\n\u003ctd\u003e2020-08-07\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Lightsail\u003c/td\u003e\n\u003ctd\u003eAws::Lightsail\u003c/td\u003e\n\u003ctd\u003eaws-sdk-lightsail\u003c/td\u003e\n\u003ctd\u003e2016-11-28\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Location Service\u003c/td\u003e\n\u003ctd\u003eAws::LocationService\u003c/td\u003e\n\u003ctd\u003eaws-sdk-locationservice\u003c/td\u003e\n\u003ctd\u003e2020-11-19\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Location Service Maps V2\u003c/td\u003e\n\u003ctd\u003eAws::GeoMaps\u003c/td\u003e\n\u003ctd\u003eaws-sdk-geomaps\u003c/td\u003e\n\u003ctd\u003e2020-11-19\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Location Service Places V2\u003c/td\u003e\n\u003ctd\u003eAws::GeoPlaces\u003c/td\u003e\n\u003ctd\u003eaws-sdk-geoplaces\u003c/td\u003e\n\u003ctd\u003e2020-11-19\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Location Service Routes V2\u003c/td\u003e\n\u003ctd\u003eAws::GeoRoutes\u003c/td\u003e\n\u003ctd\u003eaws-sdk-georoutes\u003c/td\u003e\n\u003ctd\u003e2020-11-19\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Lookout for Equipment\u003c/td\u003e\n\u003ctd\u003eAws::LookoutEquipment\u003c/td\u003e\n\u003ctd\u003eaws-sdk-lookoutequipment\u003c/td\u003e\n\u003ctd\u003e2020-12-15\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Lookout for Metrics\u003c/td\u003e\n\u003ctd\u003eAws::LookoutMetrics\u003c/td\u003e\n\u003ctd\u003eaws-sdk-lookoutmetrics\u003c/td\u003e\n\u003ctd\u003e2017-07-25\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Lookout for Vision\u003c/td\u003e\n\u003ctd\u003eAws::LookoutforVision\u003c/td\u003e\n\u003ctd\u003eaws-sdk-lookoutforvision\u003c/td\u003e\n\u003ctd\u003e2020-11-20\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Machine Learning\u003c/td\u003e\n\u003ctd\u003eAws::MachineLearning\u003c/td\u003e\n\u003ctd\u003eaws-sdk-machinelearning\u003c/td\u003e\n\u003ctd\u003e2014-12-12\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Macie 2\u003c/td\u003e\n\u003ctd\u003eAws::Macie2\u003c/td\u003e\n\u003ctd\u003eaws-sdk-macie2\u003c/td\u003e\n\u003ctd\u003e2020-01-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Managed Blockchain\u003c/td\u003e\n\u003ctd\u003eAws::ManagedBlockchain\u003c/td\u003e\n\u003ctd\u003eaws-sdk-managedblockchain\u003c/td\u003e\n\u003ctd\u003e2018-09-24\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Managed Blockchain Query\u003c/td\u003e\n\u003ctd\u003eAws::ManagedBlockchainQuery\u003c/td\u003e\n\u003ctd\u003eaws-sdk-managedblockchainquery\u003c/td\u003e\n\u003ctd\u003e2023-05-04\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Managed Grafana\u003c/td\u003e\n\u003ctd\u003eAws::ManagedGrafana\u003c/td\u003e\n\u003ctd\u003eaws-sdk-managedgrafana\u003c/td\u003e\n\u003ctd\u003e2020-08-18\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Mechanical Turk\u003c/td\u003e\n\u003ctd\u003eAws::MTurk\u003c/td\u003e\n\u003ctd\u003eaws-sdk-mturk\u003c/td\u003e\n\u003ctd\u003e2017-01-17\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon MemoryDB\u003c/td\u003e\n\u003ctd\u003eAws::MemoryDB\u003c/td\u003e\n\u003ctd\u003eaws-sdk-memorydb\u003c/td\u003e\n\u003ctd\u003e2021-01-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Neptune\u003c/td\u003e\n\u003ctd\u003eAws::Neptune\u003c/td\u003e\n\u003ctd\u003eaws-sdk-neptune\u003c/td\u003e\n\u003ctd\u003e2014-10-31\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Neptune Graph\u003c/td\u003e\n\u003ctd\u003eAws::NeptuneGraph\u003c/td\u003e\n\u003ctd\u003eaws-sdk-neptunegraph\u003c/td\u003e\n\u003ctd\u003e2023-11-29\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon NeptuneData\u003c/td\u003e\n\u003ctd\u003eAws::Neptunedata\u003c/td\u003e\n\u003ctd\u003eaws-sdk-neptunedata\u003c/td\u003e\n\u003ctd\u003e2023-08-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Omics\u003c/td\u003e\n\u003ctd\u003eAws::Omics\u003c/td\u003e\n\u003ctd\u003eaws-sdk-omics\u003c/td\u003e\n\u003ctd\u003e2022-11-28\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon OpenSearch Ingestion\u003c/td\u003e\n\u003ctd\u003eAws::OSIS\u003c/td\u003e\n\u003ctd\u003eaws-sdk-osis\u003c/td\u003e\n\u003ctd\u003e2022-01-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon OpenSearch Service\u003c/td\u003e\n\u003ctd\u003eAws::OpenSearchService\u003c/td\u003e\n\u003ctd\u003eaws-sdk-opensearchservice\u003c/td\u003e\n\u003ctd\u003e2021-01-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Personalize\u003c/td\u003e\n\u003ctd\u003eAws::Personalize\u003c/td\u003e\n\u003ctd\u003eaws-sdk-personalize\u003c/td\u003e\n\u003ctd\u003e2018-05-22\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Personalize Events\u003c/td\u003e\n\u003ctd\u003eAws::PersonalizeEvents\u003c/td\u003e\n\u003ctd\u003eaws-sdk-personalizeevents\u003c/td\u003e\n\u003ctd\u003e2018-03-22\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Personalize Runtime\u003c/td\u003e\n\u003ctd\u003eAws::PersonalizeRuntime\u003c/td\u003e\n\u003ctd\u003eaws-sdk-personalizeruntime\u003c/td\u003e\n\u003ctd\u003e2018-05-22\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Pinpoint\u003c/td\u003e\n\u003ctd\u003eAws::Pinpoint\u003c/td\u003e\n\u003ctd\u003eaws-sdk-pinpoint\u003c/td\u003e\n\u003ctd\u003e2016-12-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Pinpoint Email Service\u003c/td\u003e\n\u003ctd\u003eAws::PinpointEmail\u003c/td\u003e\n\u003ctd\u003eaws-sdk-pinpointemail\u003c/td\u003e\n\u003ctd\u003e2018-07-26\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Pinpoint SMS Voice V2\u003c/td\u003e\n\u003ctd\u003eAws::PinpointSMSVoiceV2\u003c/td\u003e\n\u003ctd\u003eaws-sdk-pinpointsmsvoicev2\u003c/td\u003e\n\u003ctd\u003e2022-03-31\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Pinpoint SMS and Voice Service\u003c/td\u003e\n\u003ctd\u003eAws::PinpointSMSVoice\u003c/td\u003e\n\u003ctd\u003eaws-sdk-pinpointsmsvoice\u003c/td\u003e\n\u003ctd\u003e2018-09-05\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Polly\u003c/td\u003e\n\u003ctd\u003eAws::Polly\u003c/td\u003e\n\u003ctd\u003eaws-sdk-polly\u003c/td\u003e\n\u003ctd\u003e2016-06-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Prometheus Service\u003c/td\u003e\n\u003ctd\u003eAws::PrometheusService\u003c/td\u003e\n\u003ctd\u003eaws-sdk-prometheusservice\u003c/td\u003e\n\u003ctd\u003e2020-08-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Q Connect\u003c/td\u003e\n\u003ctd\u003eAws::QConnect\u003c/td\u003e\n\u003ctd\u003eaws-sdk-qconnect\u003c/td\u003e\n\u003ctd\u003e2020-10-19\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon QLDB\u003c/td\u003e\n\u003ctd\u003eAws::QLDB\u003c/td\u003e\n\u003ctd\u003eaws-sdk-qldb\u003c/td\u003e\n\u003ctd\u003e2019-01-02\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon QLDB Session\u003c/td\u003e\n\u003ctd\u003eAws::QLDBSession\u003c/td\u003e\n\u003ctd\u003eaws-sdk-qldbsession\u003c/td\u003e\n\u003ctd\u003e2019-07-11\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon QuickSight\u003c/td\u003e\n\u003ctd\u003eAws::QuickSight\u003c/td\u003e\n\u003ctd\u003eaws-sdk-quicksight\u003c/td\u003e\n\u003ctd\u003e2018-04-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Recycle Bin\u003c/td\u003e\n\u003ctd\u003eAws::RecycleBin\u003c/td\u003e\n\u003ctd\u003eaws-sdk-recyclebin\u003c/td\u003e\n\u003ctd\u003e2021-06-15\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Redshift\u003c/td\u003e\n\u003ctd\u003eAws::Redshift\u003c/td\u003e\n\u003ctd\u003eaws-sdk-redshift\u003c/td\u003e\n\u003ctd\u003e2012-12-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Rekognition\u003c/td\u003e\n\u003ctd\u003eAws::Rekognition\u003c/td\u003e\n\u003ctd\u003eaws-sdk-rekognition\u003c/td\u003e\n\u003ctd\u003e2016-06-27\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Relational Database Service\u003c/td\u003e\n\u003ctd\u003eAws::RDS\u003c/td\u003e\n\u003ctd\u003eaws-sdk-rds\u003c/td\u003e\n\u003ctd\u003e2014-10-31\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Route 53\u003c/td\u003e\n\u003ctd\u003eAws::Route53\u003c/td\u003e\n\u003ctd\u003eaws-sdk-route53\u003c/td\u003e\n\u003ctd\u003e2013-04-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Route 53 Domains\u003c/td\u003e\n\u003ctd\u003eAws::Route53Domains\u003c/td\u003e\n\u003ctd\u003eaws-sdk-route53domains\u003c/td\u003e\n\u003ctd\u003e2014-05-15\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Route 53 Resolver\u003c/td\u003e\n\u003ctd\u003eAws::Route53Resolver\u003c/td\u003e\n\u003ctd\u003eaws-sdk-route53resolver\u003c/td\u003e\n\u003ctd\u003e2018-04-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon S3 Tables\u003c/td\u003e\n\u003ctd\u003eAws::S3Tables\u003c/td\u003e\n\u003ctd\u003eaws-sdk-s3tables\u003c/td\u003e\n\u003ctd\u003e2018-05-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon S3 on Outposts\u003c/td\u003e\n\u003ctd\u003eAws::S3Outposts\u003c/td\u003e\n\u003ctd\u003eaws-sdk-s3outposts\u003c/td\u003e\n\u003ctd\u003e2017-07-25\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon SageMaker Feature Store Runtime\u003c/td\u003e\n\u003ctd\u003eAws::SageMakerFeatureStoreRuntime\u003c/td\u003e\n\u003ctd\u003eaws-sdk-sagemakerfeaturestoreruntime\u003c/td\u003e\n\u003ctd\u003e2020-07-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon SageMaker Metrics Service\u003c/td\u003e\n\u003ctd\u003eAws::SageMakerMetrics\u003c/td\u003e\n\u003ctd\u003eaws-sdk-sagemakermetrics\u003c/td\u003e\n\u003ctd\u003e2022-09-30\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon SageMaker Runtime\u003c/td\u003e\n\u003ctd\u003eAws::SageMakerRuntime\u003c/td\u003e\n\u003ctd\u003eaws-sdk-sagemakerruntime\u003c/td\u003e\n\u003ctd\u003e2017-05-13\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon SageMaker Service\u003c/td\u003e\n\u003ctd\u003eAws::SageMaker\u003c/td\u003e\n\u003ctd\u003eaws-sdk-sagemaker\u003c/td\u003e\n\u003ctd\u003e2017-07-24\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon SageMaker geospatial capabilities\u003c/td\u003e\n\u003ctd\u003eAws::SageMakerGeospatial\u003c/td\u003e\n\u003ctd\u003eaws-sdk-sagemakergeospatial\u003c/td\u003e\n\u003ctd\u003e2020-05-27\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Sagemaker Edge Manager\u003c/td\u003e\n\u003ctd\u003eAws::SagemakerEdgeManager\u003c/td\u003e\n\u003ctd\u003eaws-sdk-sagemakeredgemanager\u003c/td\u003e\n\u003ctd\u003e2020-09-23\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Security Lake\u003c/td\u003e\n\u003ctd\u003eAws::SecurityLake\u003c/td\u003e\n\u003ctd\u003eaws-sdk-securitylake\u003c/td\u003e\n\u003ctd\u003e2018-05-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Simple Email Service\u003c/td\u003e\n\u003ctd\u003eAws::SES\u003c/td\u003e\n\u003ctd\u003eaws-sdk-ses\u003c/td\u003e\n\u003ctd\u003e2010-12-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Simple Email Service\u003c/td\u003e\n\u003ctd\u003eAws::SESV2\u003c/td\u003e\n\u003ctd\u003eaws-sdk-sesv2\u003c/td\u003e\n\u003ctd\u003e2019-09-27\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Simple Notification Service\u003c/td\u003e\n\u003ctd\u003eAws::SNS\u003c/td\u003e\n\u003ctd\u003eaws-sdk-sns\u003c/td\u003e\n\u003ctd\u003e2010-03-31\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Simple Queue Service\u003c/td\u003e\n\u003ctd\u003eAws::SQS\u003c/td\u003e\n\u003ctd\u003eaws-sdk-sqs\u003c/td\u003e\n\u003ctd\u003e2012-11-05\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Simple Storage Service\u003c/td\u003e\n\u003ctd\u003eAws::S3\u003c/td\u003e\n\u003ctd\u003eaws-sdk-s3\u003c/td\u003e\n\u003ctd\u003e2006-03-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Simple Systems Manager (SSM)\u003c/td\u003e\n\u003ctd\u003eAws::SSM\u003c/td\u003e\n\u003ctd\u003eaws-sdk-ssm\u003c/td\u003e\n\u003ctd\u003e2014-11-06\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Simple Workflow Service\u003c/td\u003e\n\u003ctd\u003eAws::SWF\u003c/td\u003e\n\u003ctd\u003eaws-sdk-swf\u003c/td\u003e\n\u003ctd\u003e2012-01-25\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon SimpleDB\u003c/td\u003e\n\u003ctd\u003eAws::SimpleDB\u003c/td\u003e\n\u003ctd\u003eaws-sdk-simpledb\u003c/td\u003e\n\u003ctd\u003e2009-04-15\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Textract\u003c/td\u003e\n\u003ctd\u003eAws::Textract\u003c/td\u003e\n\u003ctd\u003eaws-sdk-textract\u003c/td\u003e\n\u003ctd\u003e2018-06-27\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Timestream Query\u003c/td\u003e\n\u003ctd\u003eAws::TimestreamQuery\u003c/td\u003e\n\u003ctd\u003eaws-sdk-timestreamquery\u003c/td\u003e\n\u003ctd\u003e2018-11-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Timestream Write\u003c/td\u003e\n\u003ctd\u003eAws::TimestreamWrite\u003c/td\u003e\n\u003ctd\u003eaws-sdk-timestreamwrite\u003c/td\u003e\n\u003ctd\u003e2018-11-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Transcribe Service\u003c/td\u003e\n\u003ctd\u003eAws::TranscribeService\u003c/td\u003e\n\u003ctd\u003eaws-sdk-transcribeservice\u003c/td\u003e\n\u003ctd\u003e2017-10-26\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Transcribe Streaming Service\u003c/td\u003e\n\u003ctd\u003eAws::TranscribeStreamingService\u003c/td\u003e\n\u003ctd\u003eaws-sdk-transcribestreamingservice\u003c/td\u003e\n\u003ctd\u003e2017-10-26\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Translate\u003c/td\u003e\n\u003ctd\u003eAws::Translate\u003c/td\u003e\n\u003ctd\u003eaws-sdk-translate\u003c/td\u003e\n\u003ctd\u003e2017-07-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon VPC Lattice\u003c/td\u003e\n\u003ctd\u003eAws::VPCLattice\u003c/td\u003e\n\u003ctd\u003eaws-sdk-vpclattice\u003c/td\u003e\n\u003ctd\u003e2022-11-30\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Verified Permissions\u003c/td\u003e\n\u003ctd\u003eAws::VerifiedPermissions\u003c/td\u003e\n\u003ctd\u003eaws-sdk-verifiedpermissions\u003c/td\u003e\n\u003ctd\u003e2021-12-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon Voice ID\u003c/td\u003e\n\u003ctd\u003eAws::VoiceID\u003c/td\u003e\n\u003ctd\u003eaws-sdk-voiceid\u003c/td\u003e\n\u003ctd\u003e2021-09-27\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon WorkDocs\u003c/td\u003e\n\u003ctd\u003eAws::WorkDocs\u003c/td\u003e\n\u003ctd\u003eaws-sdk-workdocs\u003c/td\u003e\n\u003ctd\u003e2016-05-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon WorkMail\u003c/td\u003e\n\u003ctd\u003eAws::WorkMail\u003c/td\u003e\n\u003ctd\u003eaws-sdk-workmail\u003c/td\u003e\n\u003ctd\u003e2017-10-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon WorkMail Message Flow\u003c/td\u003e\n\u003ctd\u003eAws::WorkMailMessageFlow\u003c/td\u003e\n\u003ctd\u003eaws-sdk-workmailmessageflow\u003c/td\u003e\n\u003ctd\u003e2019-05-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon WorkSpaces\u003c/td\u003e\n\u003ctd\u003eAws::WorkSpaces\u003c/td\u003e\n\u003ctd\u003eaws-sdk-workspaces\u003c/td\u003e\n\u003ctd\u003e2015-04-08\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon WorkSpaces Thin Client\u003c/td\u003e\n\u003ctd\u003eAws::WorkSpacesThinClient\u003c/td\u003e\n\u003ctd\u003eaws-sdk-workspacesthinclient\u003c/td\u003e\n\u003ctd\u003e2023-08-22\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazon WorkSpaces Web\u003c/td\u003e\n\u003ctd\u003eAws::WorkSpacesWeb\u003c/td\u003e\n\u003ctd\u003eaws-sdk-workspacesweb\u003c/td\u003e\n\u003ctd\u003e2020-07-08\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazonApiGatewayManagementApi\u003c/td\u003e\n\u003ctd\u003eAws::ApiGatewayManagementApi\u003c/td\u003e\n\u003ctd\u003eaws-sdk-apigatewaymanagementapi\u003c/td\u003e\n\u003ctd\u003e2018-11-29\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazonApiGatewayV2\u003c/td\u003e\n\u003ctd\u003eAws::ApiGatewayV2\u003c/td\u003e\n\u003ctd\u003eaws-sdk-apigatewayv2\u003c/td\u003e\n\u003ctd\u003e2018-11-29\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazonConnectCampaignService\u003c/td\u003e\n\u003ctd\u003eAws::ConnectCampaignService\u003c/td\u003e\n\u003ctd\u003eaws-sdk-connectcampaignservice\u003c/td\u003e\n\u003ctd\u003e2021-01-30\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazonConnectCampaignServiceV2\u003c/td\u003e\n\u003ctd\u003eAws::ConnectCampaignsV2\u003c/td\u003e\n\u003ctd\u003eaws-sdk-connectcampaignsv2\u003c/td\u003e\n\u003ctd\u003e2024-04-23\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazonMQ\u003c/td\u003e\n\u003ctd\u003eAws::MQ\u003c/td\u003e\n\u003ctd\u003eaws-sdk-mq\u003c/td\u003e\n\u003ctd\u003e2017-11-27\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmazonMWAA\u003c/td\u003e\n\u003ctd\u003eAws::MWAA\u003c/td\u003e\n\u003ctd\u003eaws-sdk-mwaa\u003c/td\u003e\n\u003ctd\u003e2020-07-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAmplifyBackend\u003c/td\u003e\n\u003ctd\u003eAws::AmplifyBackend\u003c/td\u003e\n\u003ctd\u003eaws-sdk-amplifybackend\u003c/td\u003e\n\u003ctd\u003e2020-08-11\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAppFabric\u003c/td\u003e\n\u003ctd\u003eAws::AppFabric\u003c/td\u003e\n\u003ctd\u003eaws-sdk-appfabric\u003c/td\u003e\n\u003ctd\u003e2023-05-19\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eApplication Auto Scaling\u003c/td\u003e\n\u003ctd\u003eAws::ApplicationAutoScaling\u003c/td\u003e\n\u003ctd\u003eaws-sdk-applicationautoscaling\u003c/td\u003e\n\u003ctd\u003e2016-02-06\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eApplication Migration Service\u003c/td\u003e\n\u003ctd\u003eAws::Mgn\u003c/td\u003e\n\u003ctd\u003eaws-sdk-mgn\u003c/td\u003e\n\u003ctd\u003e2020-02-26\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAuto Scaling\u003c/td\u003e\n\u003ctd\u003eAws::AutoScaling\u003c/td\u003e\n\u003ctd\u003eaws-sdk-autoscaling\u003c/td\u003e\n\u003ctd\u003e2011-01-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eBraket\u003c/td\u003e\n\u003ctd\u003eAws::Braket\u003c/td\u003e\n\u003ctd\u003eaws-sdk-braket\u003c/td\u003e\n\u003ctd\u003e2019-09-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCloudWatch Observability Access Manager\u003c/td\u003e\n\u003ctd\u003eAws::OAM\u003c/td\u003e\n\u003ctd\u003eaws-sdk-oam\u003c/td\u003e\n\u003ctd\u003e2022-06-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCloudWatch Observability Admin Service\u003c/td\u003e\n\u003ctd\u003eAws::ObservabilityAdmin\u003c/td\u003e\n\u003ctd\u003eaws-sdk-observabilityadmin\u003c/td\u003e\n\u003ctd\u003e2018-05-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCloudWatch RUM\u003c/td\u003e\n\u003ctd\u003eAws::CloudWatchRUM\u003c/td\u003e\n\u003ctd\u003eaws-sdk-cloudwatchrum\u003c/td\u003e\n\u003ctd\u003e2018-05-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCodeArtifact\u003c/td\u003e\n\u003ctd\u003eAws::CodeArtifact\u003c/td\u003e\n\u003ctd\u003eaws-sdk-codeartifact\u003c/td\u003e\n\u003ctd\u003e2018-09-22\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCost Optimization Hub\u003c/td\u003e\n\u003ctd\u003eAws::CostOptimizationHub\u003c/td\u003e\n\u003ctd\u003eaws-sdk-costoptimizationhub\u003c/td\u003e\n\u003ctd\u003e2022-07-26\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eData Automation for Amazon Bedrock\u003c/td\u003e\n\u003ctd\u003eAws::BedrockDataAutomation\u003c/td\u003e\n\u003ctd\u003eaws-sdk-bedrockdataautomation\u003c/td\u003e\n\u003ctd\u003e2023-07-26\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eEC2 Image Builder\u003c/td\u003e\n\u003ctd\u003eAws::Imagebuilder\u003c/td\u003e\n\u003ctd\u003eaws-sdk-imagebuilder\u003c/td\u003e\n\u003ctd\u003e2019-12-02\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eEMR Serverless\u003c/td\u003e\n\u003ctd\u003eAws::EMRServerless\u003c/td\u003e\n\u003ctd\u003eaws-sdk-emrserverless\u003c/td\u003e\n\u003ctd\u003e2021-07-13\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eElastic Disaster Recovery Service\u003c/td\u003e\n\u003ctd\u003eAws::Drs\u003c/td\u003e\n\u003ctd\u003eaws-sdk-drs\u003c/td\u003e\n\u003ctd\u003e2020-02-26\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eElastic Load Balancing\u003c/td\u003e\n\u003ctd\u003eAws::ElasticLoadBalancing\u003c/td\u003e\n\u003ctd\u003eaws-sdk-elasticloadbalancing\u003c/td\u003e\n\u003ctd\u003e2012-06-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eElastic Load Balancing\u003c/td\u003e\n\u003ctd\u003eAws::ElasticLoadBalancingV2\u003c/td\u003e\n\u003ctd\u003eaws-sdk-elasticloadbalancingv2\u003c/td\u003e\n\u003ctd\u003e2015-12-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFinSpace Public API\u003c/td\u003e\n\u003ctd\u003eAws::FinSpaceData\u003c/td\u003e\n\u003ctd\u003eaws-sdk-finspacedata\u003c/td\u003e\n\u003ctd\u003e2020-07-13\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFinSpace User Environment Management service\u003c/td\u003e\n\u003ctd\u003eAws::Finspace\u003c/td\u003e\n\u003ctd\u003eaws-sdk-finspace\u003c/td\u003e\n\u003ctd\u003e2021-03-12\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFirewall Management Service\u003c/td\u003e\n\u003ctd\u003eAws::FMS\u003c/td\u003e\n\u003ctd\u003eaws-sdk-fms\u003c/td\u003e\n\u003ctd\u003e2018-01-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eIAM Roles Anywhere\u003c/td\u003e\n\u003ctd\u003eAws::RolesAnywhere\u003c/td\u003e\n\u003ctd\u003eaws-sdk-rolesanywhere\u003c/td\u003e\n\u003ctd\u003e2018-05-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eInspector Scan\u003c/td\u003e\n\u003ctd\u003eAws::InspectorScan\u003c/td\u003e\n\u003ctd\u003eaws-sdk-inspectorscan\u003c/td\u003e\n\u003ctd\u003e2023-08-08\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eInspector2\u003c/td\u003e\n\u003ctd\u003eAws::Inspector2\u003c/td\u003e\n\u003ctd\u003eaws-sdk-inspector2\u003c/td\u003e\n\u003ctd\u003e2020-06-08\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMailManager\u003c/td\u003e\n\u003ctd\u003eAws::MailManager\u003c/td\u003e\n\u003ctd\u003eaws-sdk-mailmanager\u003c/td\u003e\n\u003ctd\u003e2023-10-17\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eManaged Streaming for Kafka\u003c/td\u003e\n\u003ctd\u003eAws::Kafka\u003c/td\u003e\n\u003ctd\u003eaws-sdk-kafka\u003c/td\u003e\n\u003ctd\u003e2018-11-14\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eManaged Streaming for Kafka Connect\u003c/td\u003e\n\u003ctd\u003eAws::KafkaConnect\u003c/td\u003e\n\u003ctd\u003eaws-sdk-kafkaconnect\u003c/td\u003e\n\u003ctd\u003e2021-09-14\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eManaged integrations for AWS IoT Device Management\u003c/td\u003e\n\u003ctd\u003eAws::IoTManagedIntegrations\u003c/td\u003e\n\u003ctd\u003eaws-sdk-iotmanagedintegrations\u003c/td\u003e\n\u003ctd\u003e2025-03-03\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMigration Hub Strategy Recommendations\u003c/td\u003e\n\u003ctd\u003eAws::MigrationHubStrategyRecommendations\u003c/td\u003e\n\u003ctd\u003eaws-sdk-migrationhubstrategyrecommendations\u003c/td\u003e\n\u003ctd\u003e2020-02-19\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eNetwork Flow Monitor\u003c/td\u003e\n\u003ctd\u003eAws::NetworkFlowMonitor\u003c/td\u003e\n\u003ctd\u003eaws-sdk-networkflowmonitor\u003c/td\u003e\n\u003ctd\u003e2023-04-19\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOpenSearch Service Serverless\u003c/td\u003e\n\u003ctd\u003eAws::OpenSearchServerless\u003c/td\u003e\n\u003ctd\u003eaws-sdk-opensearchserverless\u003c/td\u003e\n\u003ctd\u003e2021-11-01\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePartner Central Selling API\u003c/td\u003e\n\u003ctd\u003eAws::PartnerCentralSelling\u003c/td\u003e\n\u003ctd\u003eaws-sdk-partnercentralselling\u003c/td\u003e\n\u003ctd\u003e2022-07-26\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePayment Cryptography Control Plane\u003c/td\u003e\n\u003ctd\u003eAws::PaymentCryptography\u003c/td\u003e\n\u003ctd\u003eaws-sdk-paymentcryptography\u003c/td\u003e\n\u003ctd\u003e2021-09-14\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePayment Cryptography Data Plane\u003c/td\u003e\n\u003ctd\u003eAws::PaymentCryptographyData\u003c/td\u003e\n\u003ctd\u003eaws-sdk-paymentcryptographydata\u003c/td\u003e\n\u003ctd\u003e2022-02-03\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePcaConnectorAd\u003c/td\u003e\n\u003ctd\u003eAws::PcaConnectorAd\u003c/td\u003e\n\u003ctd\u003eaws-sdk-pcaconnectorad\u003c/td\u003e\n\u003ctd\u003e2018-05-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePrivate CA Connector for SCEP\u003c/td\u003e\n\u003ctd\u003eAws::PcaConnectorScep\u003c/td\u003e\n\u003ctd\u003eaws-sdk-pcaconnectorscep\u003c/td\u003e\n\u003ctd\u003e2018-05-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eQApps\u003c/td\u003e\n\u003ctd\u003eAws::QApps\u003c/td\u003e\n\u003ctd\u003eaws-sdk-qapps\u003c/td\u003e\n\u003ctd\u003e2023-11-27\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eQBusiness\u003c/td\u003e\n\u003ctd\u003eAws::QBusiness\u003c/td\u003e\n\u003ctd\u003eaws-sdk-qbusiness\u003c/td\u003e\n\u003ctd\u003e2023-11-27\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eRedshift Data API Service\u003c/td\u003e\n\u003ctd\u003eAws::RedshiftDataAPIService\u003c/td\u003e\n\u003ctd\u003eaws-sdk-redshiftdataapiservice\u003c/td\u003e\n\u003ctd\u003e2019-12-20\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eRedshift Serverless\u003c/td\u003e\n\u003ctd\u003eAws::RedshiftServerless\u003c/td\u003e\n\u003ctd\u003eaws-sdk-redshiftserverless\u003c/td\u003e\n\u003ctd\u003e2021-04-21\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eRoute 53 Profiles\u003c/td\u003e\n\u003ctd\u003eAws::Route53Profiles\u003c/td\u003e\n\u003ctd\u003eaws-sdk-route53profiles\u003c/td\u003e\n\u003ctd\u003e2018-05-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eRoute53 Recovery Cluster\u003c/td\u003e\n\u003ctd\u003eAws::Route53RecoveryCluster\u003c/td\u003e\n\u003ctd\u003eaws-sdk-route53recoverycluster\u003c/td\u003e\n\u003ctd\u003e2019-12-02\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eRuntime for Amazon Bedrock Data Automation\u003c/td\u003e\n\u003ctd\u003eAws::BedrockDataAutomationRuntime\u003c/td\u003e\n\u003ctd\u003eaws-sdk-bedrockdataautomationruntime\u003c/td\u003e\n\u003ctd\u003e2024-06-13\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSchemas\u003c/td\u003e\n\u003ctd\u003eAws::Schemas\u003c/td\u003e\n\u003ctd\u003eaws-sdk-schemas\u003c/td\u003e\n\u003ctd\u003e2019-12-02\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSecurity Incident Response\u003c/td\u003e\n\u003ctd\u003eAws::SecurityIR\u003c/td\u003e\n\u003ctd\u003eaws-sdk-securityir\u003c/td\u003e\n\u003ctd\u003e2018-05-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eService Quotas\u003c/td\u003e\n\u003ctd\u003eAws::ServiceQuotas\u003c/td\u003e\n\u003ctd\u003eaws-sdk-servicequotas\u003c/td\u003e\n\u003ctd\u003e2019-06-24\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSynthetics\u003c/td\u003e\n\u003ctd\u003eAws::Synthetics\u003c/td\u003e\n\u003ctd\u003eaws-sdk-synthetics\u003c/td\u003e\n\u003ctd\u003e2017-10-11\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eTax Settings\u003c/td\u003e\n\u003ctd\u003eAws::TaxSettings\u003c/td\u003e\n\u003ctd\u003eaws-sdk-taxsettings\u003c/td\u003e\n\u003ctd\u003e2018-05-10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eTimestream InfluxDB\u003c/td\u003e\n\u003ctd\u003eAws::TimestreamInfluxDB\u003c/td\u003e\n\u003ctd\u003eaws-sdk-timestreaminfluxdb\u003c/td\u003e\n\u003ctd\u003e2023-01-27\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eTrustedAdvisor Public API\u003c/td\u003e\n\u003ctd\u003eAws::TrustedAdvisor\u003c/td\u003e\n\u003ctd\u003eaws-sdk-trustedadvisor\u003c/td\u003e\n\u003ctd\u003e2022-09-15\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/markdown-accessiblity-table\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eLicense\u003c/h2\u003e\u003ca id=\"user-content-license\" class=\"anchor\" aria-label=\"Permalink: License\" href=\"#license\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThis library is distributed under the\n\u003ca href=\"http://www.apache.org/licenses/LICENSE-2.0.html\" rel=\"nofollow\"\u003eApache License, version 2.0\u003c/a\u003e\u003c/p\u003e\n\u003cdiv class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"copyright 2013. amazon web services, inc. all rights reserved.\n\nlicensed under the apache license, version 2.0 (the \u0026quot;license\u0026quot;);\nyou may not use this file except in compliance with the license.\nyou may obtain a copy of the license at\n\n http://www.apache.org/licenses/license-2.0\n\nunless required by applicable law or agreed to in writing, software\ndistributed under the license is distributed on an \u0026quot;as is\u0026quot; basis,\nwithout warranties or conditions of any kind, either express or implied.\nsee the license for the specific language governing permissions and\nlimitations under the license.\"\u003e\u003cpre lang=\"no-highlight\" class=\"notranslate\"\u003e\u003ccode\u003ecopyright 2013. amazon web services, inc. all rights reserved.\n\nlicensed under the apache license, version 2.0 (the \"license\");\nyou may not use this file except in compliance with the license.\nyou may obtain a copy of the license at\n\n http://www.apache.org/licenses/license-2.0\n\nunless required by applicable law or agreed to in writing, software\ndistributed under the license is distributed on an \"as is\" basis,\nwithout warranties or conditions of any kind, either express or implied.\nsee the license for the specific language governing permissions and\nlimitations under the license.\n\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003c/article\u003e","loaded":true,"timedOut":false,"errorMessage":null,"headerInfo":{"toc":[{"level":1,"text":"AWS SDK for Ruby - Version 3","anchor":"aws-sdk-for-ruby---version-3","htmlText":"AWS SDK for Ruby - Version 3"},{"level":2,"text":"Links of Interest","anchor":"links-of-interest","htmlText":"Links of Interest"},{"level":2,"text":"Installation","anchor":"installation","htmlText":"Installation"},{"level":2,"text":"Configuration","anchor":"configuration","htmlText":"Configuration"},{"level":3,"text":"Configuration Options","anchor":"configuration-options","htmlText":"Configuration Options"},{"level":2,"text":"API Clients","anchor":"api-clients","htmlText":"API Clients"},{"level":3,"text":"Paging Responses","anchor":"paging-responses","htmlText":"Paging Responses"},{"level":3,"text":"Waiters","anchor":"waiters","htmlText":"Waiters"},{"level":2,"text":"Resource Interfaces","anchor":"resource-interfaces","htmlText":"Resource Interfaces"},{"level":2,"text":"REPL - AWS Interactive Console","anchor":"repl---aws-interactive-console","htmlText":"REPL - AWS Interactive Console"},{"level":2,"text":"Functionality requiring AWS Common Runtime (CRT)","anchor":"functionality-requiring-aws-common-runtime-crt","htmlText":"Functionality requiring AWS Common Runtime (CRT)"},{"level":2,"text":"Getting Help","anchor":"getting-help","htmlText":"Getting Help"},{"level":2,"text":"Maintenance and support for SDK major versions","anchor":"maintenance-and-support-for-sdk-major-versions","htmlText":"Maintenance and support for SDK major versions"},{"level":2,"text":"Opening Issues","anchor":"opening-issues","htmlText":"Opening Issues"},{"level":2,"text":"Versioning","anchor":"versioning","htmlText":"Versioning"},{"level":2,"text":"Supported Services","anchor":"supported-services","htmlText":"Supported Services"},{"level":2,"text":"License","anchor":"license","htmlText":"License"}],"siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Faws%2Faws-sdk-ruby"}},{"displayName":"CODE_OF_CONDUCT.md","repoName":"aws-sdk-ruby","refName":"version-3","path":"CODE_OF_CONDUCT.md","preferredFileType":"code_of_conduct","tabName":"Code of conduct","richText":null,"loaded":false,"timedOut":false,"errorMessage":null,"headerInfo":{"toc":null,"siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Faws%2Faws-sdk-ruby"}},{"displayName":"LICENSE.txt","repoName":"aws-sdk-ruby","refName":"version-3","path":"LICENSE.txt","preferredFileType":"license","tabName":"Apache-2.0","richText":null,"loaded":false,"timedOut":false,"errorMessage":null,"headerInfo":{"toc":null,"siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Faws%2Faws-sdk-ruby"}},{"displayName":"SECURITY.md","repoName":".github","refName":"master","path":"SECURITY.md","preferredFileType":"security","tabName":"Security","richText":null,"loaded":false,"timedOut":false,"errorMessage":null,"headerInfo":{"toc":null,"siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Faws%2Faws-sdk-ruby"}}],"overviewFilesProcessingTime":0}},"appPayload":{"helpUrl":"https://docs.github.com","findFileWorkerPath":"/assets-cdn/worker/find-file-worker-7d7eb7c71814.js","findInFileWorkerPath":"/assets-cdn/worker/find-in-file-worker-96e76d5fdb2c.js","githubDevUrl":null,"enabled_features":{"copilot_workspace":null,"code_nav_ui_events":false,"overview_shared_code_dropdown_button":false,"react_blob_overlay":false,"accessible_code_button":true,"github_models_repo_integration":false}}}}</script> <div data-target="react-partial.reactRoot"><style data-styled="true" data-styled-version="5.3.11">.iVEunk{margin-top:16px;margin-bottom:16px;}/*!sc*/ .jzuOtQ{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}/*!sc*/ .bGojzy{margin-bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;row-gap:16px;}/*!sc*/ .iNSVHo{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;padding-bottom:16px;padding-top:8px;}/*!sc*/ .bVgnfw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;gap:8px;}/*!sc*/ @media screen and (max-width:320px){.bVgnfw{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}}/*!sc*/ .CEgMp{position:relative;}/*!sc*/ @media screen and (max-width:380px){.CEgMp .ref-selector-button-text-container{max-width:80px;}}/*!sc*/ @media screen and (max-width:320px){.CEgMp{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}.CEgMp .overview-ref-selector{width:100%;}.CEgMp .overview-ref-selector > span{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;}.CEgMp .overview-ref-selector > span > span[data-component="text"]{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}}/*!sc*/ .gMOVLe[data-size="medium"]{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-width:0;}/*!sc*/ .gMOVLe[data-size="medium"] svg{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .gMOVLe[data-size="medium"] > span{width:inherit;}/*!sc*/ .gUkoLg{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}/*!sc*/ .bZBlpz{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;}/*!sc*/ .lhTYNA{margin-right:4px;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .ffLUq{font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}/*!sc*/ .bmcJak{min-width:0;}/*!sc*/ .fLXEGX{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ @media screen and (max-width:1079px){.fLXEGX{display:none;}}/*!sc*/ .lmSMZJ[data-size="medium"]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));padding-left:4px;padding-right:4px;}/*!sc*/ .lmSMZJ[data-size="medium"] span[data-component="leadingVisual"]{margin-right:4px !important;}/*!sc*/ .dqfxud{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ @media screen and (min-width:1080px){.dqfxud{display:none;}}/*!sc*/ @media screen and (max-width:543px){.dqfxud{display:none;}}/*!sc*/ .fGwBZA[data-size="medium"][data-no-visuals]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .jxTzTd{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:8px;gap:8px;}/*!sc*/ .gqqBXN{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:8px;}/*!sc*/ @media screen and (max-width:543px){.gqqBXN{display:none;}}/*!sc*/ .dzXgxt{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ @media screen and (max-width:1011px){.dzXgxt{display:none;}}/*!sc*/ .iWFGlI{margin-left:8px;margin-right:8px;margin:0;}/*!sc*/ .vcvyP{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-width:160px;}/*!sc*/ .YUPas{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ @media screen and (min-width:1012px){.YUPas{display:none;}}/*!sc*/ .izFOf{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ @media screen and (min-width:544px){.izFOf{display:none;}}/*!sc*/ .vIPPs{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:16px;}/*!sc*/ .fdROMU{width:100%;border-collapse:separate;border-spacing:0;border:1px solid;border-color:var(--borderColor-default,var(--color-border-default,#d0d7de));border-radius:6px;table-layout:fixed;overflow:unset;}/*!sc*/ .jGKpsv{height:0px;line-height:0px;}/*!sc*/ .jGKpsv tr{height:0px;font-size:0px;}/*!sc*/ .jdgHnn{padding:16px;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));font-size:12px;text-align:left;height:40px;}/*!sc*/ .jdgHnn th{padding-left:16px;background-color:var(--bgColor-muted,var(--color-canvas-subtle,#f6f8fa));}/*!sc*/ .bQivRW{width:100%;border-top-left-radius:6px;}/*!sc*/ @media screen and (min-width:544px){.bQivRW{display:none;}}/*!sc*/ .ldkMIO{width:40%;border-top-left-radius:6px;}/*!sc*/ @media screen and (max-width:543px){.ldkMIO{display:none;}}/*!sc*/ .jMbWeI{text-align:right;padding-right:16px;width:136px;border-top-right-radius:6px;}/*!sc*/ .gpqjiB{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));font-size:12px;height:40px;}/*!sc*/ .dzCJzi{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;min-width:273px;padding:8px;}/*!sc*/ @media screen and (min-width:544px){.dzCJzi{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}}/*!sc*/ .eNCcrz{text-align:center;vertical-align:center;height:40px;border-top:1px solid;border-color:var(--borderColor-default,var(--color-border-default,#d0d7de));}/*!sc*/ .bHTcCe{border-top:1px solid var(--borderColor-default,var(--color-border-default));cursor:pointer;}/*!sc*/ .csrIcr{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;gap:16px;}/*!sc*/ .bUQNHB{border:1px solid;border-color:var(--borderColor-default,var(--color-border-default,#d0d7de));border-radius:6px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}/*!sc*/ @media screen and (max-width:543px){.bUQNHB{margin-left:-16px;margin-right:-16px;max-width:calc(100% + 32px);}}/*!sc*/ @media screen and (min-width:544px){.bUQNHB{max-width:100%;}}/*!sc*/ .jPdcfu{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;border-bottom:1px solid;border-bottom-color:var(--borderColor-default,var(--color-border-default,#d0d7de));-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-right:8px;position:-webkit-sticky;position:sticky;top:0;background-color:var(--bgColor-default,var(--color-canvas-default,#ffffff));z-index:1;border-top-left-radius:6px;border-top-right-radius:6px;}/*!sc*/ .iphEWz{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;border-bottom:none;max-width:100%;padding-left:8px;padding-right:8px;}/*!sc*/ .hUCRAk{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ .cwoBXV[data-size="medium"]{color:var(--fgColor-muted,var(--color-fg-subtle,#6e7781));padding-left:8px;padding-right:8px;}/*!sc*/ .QkQOb{padding:32px;overflow:auto;}/*!sc*/ data-styled.g1[id="Box-sc-g0xbh4-0"]{content:"iVEunk,jzuOtQ,bGojzy,iNSVHo,bVgnfw,CEgMp,gMOVLe,gUkoLg,bZBlpz,lhTYNA,ffLUq,bmcJak,fLXEGX,lmSMZJ,dqfxud,fGwBZA,jxTzTd,gqqBXN,dzXgxt,iWFGlI,vcvyP,YUPas,izFOf,vIPPs,fdROMU,jGKpsv,jdgHnn,bQivRW,ldkMIO,jMbWeI,gpqjiB,dzCJzi,eNCcrz,bHTcCe,csrIcr,bUQNHB,jPdcfu,iphEWz,hUCRAk,cwoBXV,QkQOb,"}/*!sc*/ .brGdpi{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip:rect(0,0,0,0);clip:rect(0,0,0,0);white-space:nowrap;border-width:0;}/*!sc*/ data-styled.g5[id="_VisuallyHidden__VisuallyHidden-sc-11jhm7a-0"]{content:"brGdpi,"}/*!sc*/ .hWlpPn{position:relative;display:inline-block;}/*!sc*/ .hWlpPn::after{position:absolute;z-index:1000000;display:none;padding:0.5em 0.75em;font:normal normal 11px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";-webkit-font-smoothing:subpixel-antialiased;color:var(--tooltip-fgColor,var(--fgColor-onEmphasis,var(--color-fg-on-emphasis,#ffffff)));text-align:center;-webkit-text-decoration:none;text-decoration:none;text-shadow:none;text-transform:none;-webkit-letter-spacing:normal;-moz-letter-spacing:normal;-ms-letter-spacing:normal;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background:var(--tooltip-bgColor,var(--bgColor-emphasis,var(--color-neutral-emphasis-plus,#24292f)));border-radius:6px;opacity:0;}/*!sc*/ @-webkit-keyframes tooltip-appear{from{opacity:0;}to{opacity:1;}}/*!sc*/ @keyframes tooltip-appear{from{opacity:0;}to{opacity:1;}}/*!sc*/ .hWlpPn:hover::after,.hWlpPn:active::after,.hWlpPn:focus::after,.hWlpPn:focus-within::after{display:inline-block;-webkit-text-decoration:none;text-decoration:none;-webkit-animation-name:tooltip-appear;animation-name:tooltip-appear;-webkit-animation-duration:0.1s;animation-duration:0.1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;-webkit-animation-delay:0s;animation-delay:0s;}/*!sc*/ .hWlpPn.tooltipped-no-delay:hover::after,.hWlpPn.tooltipped-no-delay:active::after,.hWlpPn.tooltipped-no-delay:focus::after,.hWlpPn.tooltipped-no-delay:focus-within::after{-webkit-animation-delay:0s;animation-delay:0s;}/*!sc*/ .hWlpPn.tooltipped-multiline:hover::after,.hWlpPn.tooltipped-multiline:active::after,.hWlpPn.tooltipped-multiline:focus::after,.hWlpPn.tooltipped-multiline:focus-within::after{display:table-cell;}/*!sc*/ .hWlpPn.tooltipped-s::after,.hWlpPn.tooltipped-se::after,.hWlpPn.tooltipped-sw::after{top:100%;right:50%;margin-top:6px;}/*!sc*/ .hWlpPn.tooltipped-se::after{right:auto;left:50%;margin-left:-16px;}/*!sc*/ .hWlpPn.tooltipped-sw::after{margin-right:-16px;}/*!sc*/ .hWlpPn.tooltipped-n::after,.hWlpPn.tooltipped-ne::after,.hWlpPn.tooltipped-nw::after{right:50%;bottom:100%;margin-bottom:6px;}/*!sc*/ .hWlpPn.tooltipped-ne::after{right:auto;left:50%;margin-left:-16px;}/*!sc*/ .hWlpPn.tooltipped-nw::after{margin-right:-16px;}/*!sc*/ .hWlpPn.tooltipped-s::after,.hWlpPn.tooltipped-n::after{-webkit-transform:translateX(50%);-ms-transform:translateX(50%);transform:translateX(50%);}/*!sc*/ .hWlpPn.tooltipped-w::after{right:100%;bottom:50%;margin-right:6px;-webkit-transform:translateY(50%);-ms-transform:translateY(50%);transform:translateY(50%);}/*!sc*/ .hWlpPn.tooltipped-e::after{bottom:50%;left:100%;margin-left:6px;-webkit-transform:translateY(50%);-ms-transform:translateY(50%);transform:translateY(50%);}/*!sc*/ .hWlpPn.tooltipped-multiline::after{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:250px;word-wrap:break-word;white-space:pre-line;border-collapse:separate;}/*!sc*/ .hWlpPn.tooltipped-multiline.tooltipped-s::after,.hWlpPn.tooltipped-multiline.tooltipped-n::after{right:auto;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);}/*!sc*/ .hWlpPn.tooltipped-multiline.tooltipped-w::after,.hWlpPn.tooltipped-multiline.tooltipped-e::after{right:100%;}/*!sc*/ .hWlpPn.tooltipped-align-right-2::after{right:0;margin-right:0;}/*!sc*/ .hWlpPn.tooltipped-align-left-2::after{left:0;margin-left:0;}/*!sc*/ data-styled.g16[id="Tooltip__TooltipBase-sc-17tf59c-0"]{content:"hWlpPn,"}/*!sc*/ .liVpTx{display:inline-block;overflow:hidden;text-overflow:ellipsis;vertical-align:top;white-space:nowrap;max-width:125px;}/*!sc*/ data-styled.g18[id="Truncate__StyledTruncate-sc-23o1d2-0"]{content:"liVpTx,"}/*!sc*/ </style> <!-- --> <!-- --> <div class="Box-sc-g0xbh4-0 iVEunk"><div class="Box-sc-g0xbh4-0 jzuOtQ"><div class="Box-sc-g0xbh4-0 bGojzy"></div></div><div class="Box-sc-g0xbh4-0 iNSVHo"><div class="Box-sc-g0xbh4-0 bVgnfw"><div class="Box-sc-g0xbh4-0 CEgMp"><button type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-label="version-3 branch" data-testid="anchor-button" class="Box-sc-g0xbh4-0 gMOVLe prc-Button-ButtonBase-c50BI overview-ref-selector width-full" data-loading="false" data-size="medium" data-variant="default" aria-describedby="branch-picker-repos-header-ref-selector-loading-announcement" id="branch-picker-repos-header-ref-selector"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg prc-Button-ButtonContent-HKbr-"><span data-component="text" class="prc-Button-Label-pTQ3x"><div class="Box-sc-g0xbh4-0 bZBlpz"><div class="Box-sc-g0xbh4-0 lhTYNA"><svg aria-hidden="true" focusable="false" class="octicon octicon-git-branch" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg></div><div class="Box-sc-g0xbh4-0 ffLUq ref-selector-button-text-container"><span class="Box-sc-g0xbh4-0 bmcJak prc-Text-Text-0ima0"> <!-- -->version-3</span></div></div></span><span data-component="trailingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg></span></span></button><button hidden="" data-hotkey-scope="read-only-cursor-text-area"></button></div><div class="Box-sc-g0xbh4-0 fLXEGX"><a style="--button-color:fg.muted" type="button" href="/aws/aws-sdk-ruby/branches" class="Box-sc-g0xbh4-0 lmSMZJ prc-Button-ButtonBase-c50BI" data-loading="false" data-size="medium" data-variant="invisible" aria-describedby=":Rclab:-loading-announcement"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg prc-Button-ButtonContent-HKbr-"><span data-component="leadingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-git-branch" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg></span><span data-component="text" class="prc-Button-Label-pTQ3x">Branches</span></span></a><a style="--button-color:fg.muted" type="button" href="/aws/aws-sdk-ruby/tags" class="Box-sc-g0xbh4-0 lmSMZJ prc-Button-ButtonBase-c50BI" data-loading="false" data-size="medium" data-variant="invisible" aria-describedby=":Rklab:-loading-announcement"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg prc-Button-ButtonContent-HKbr-"><span data-component="leadingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-tag" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"></path></svg></span><span data-component="text" class="prc-Button-Label-pTQ3x">Tags</span></span></a></div><div class="Box-sc-g0xbh4-0 dqfxud"><a style="--button-color:fg.muted" type="button" aria-label="Go to Branches page" href="/aws/aws-sdk-ruby/branches" class="Box-sc-g0xbh4-0 fGwBZA prc-Button-ButtonBase-c50BI" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="invisible" aria-describedby=":Relab:-loading-announcement"><svg aria-hidden="true" focusable="false" class="octicon octicon-git-branch" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg></a><a style="--button-color:fg.muted" type="button" aria-label="Go to Tags page" href="/aws/aws-sdk-ruby/tags" class="Box-sc-g0xbh4-0 fGwBZA prc-Button-ButtonBase-c50BI" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="invisible" aria-describedby=":Rmlab:-loading-announcement"><svg aria-hidden="true" focusable="false" class="octicon octicon-tag" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"></path></svg></a></div></div><div class="Box-sc-g0xbh4-0 jxTzTd"><div class="Box-sc-g0xbh4-0 gqqBXN"><div class="Box-sc-g0xbh4-0 dzXgxt"><!--$--><div class="Box-sc-g0xbh4-0 iWFGlI"><span class="Box-sc-g0xbh4-0 vcvyP TextInput-wrapper prc-components-TextInputWrapper-i1ofR prc-components-TextInputBaseWrapper-ueK9q" data-leading-visual="true" data-trailing-visual="true" aria-busy="false"><span class="TextInput-icon" id=":R2j5ab:" aria-hidden="true"><svg aria-hidden="true" focusable="false" class="octicon octicon-search" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path></svg></span><input type="text" aria-label="Go to file" role="combobox" aria-controls="file-results-list" aria-expanded="false" aria-haspopup="dialog" autoCorrect="off" spellcheck="false" placeholder="Go to file" aria-describedby=":R2j5ab: :R2j5abH1:" data-component="input" class="prc-components-Input-Ic-y8" value=""/><span class="TextInput-icon" id=":R2j5abH1:" aria-hidden="true"></span></span></div><!--/$--></div><div class="Box-sc-g0xbh4-0 YUPas"><button type="button" class="prc-Button-ButtonBase-c50BI" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default" aria-describedby=":Rr5ab:-loading-announcement"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-HKbr-"><span data-component="text" class="prc-Button-Label-pTQ3x">Go to file</span></span></button></div><div class="react-directory-add-file-icon"></div><div class="react-directory-remove-file-icon"></div></div><button type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-c50BI" data-loading="false" data-size="medium" data-variant="primary" aria-describedby=":R55ab:-loading-announcement" id=":R55ab:"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-HKbr-"><span data-component="leadingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-code hide-sm" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path></svg></span><span data-component="text" class="prc-Button-Label-pTQ3x">Code</span><span data-component="trailingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg></span></span></button><div class="Box-sc-g0xbh4-0 izFOf"><button data-component="IconButton" type="button" aria-label="Open more actions menu" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-c50BI prc-Button-IconButton-szpyj" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default" aria-describedby=":R75ab:-loading-announcement" id=":R75ab:"><svg aria-hidden="true" focusable="false" class="octicon octicon-kebab-horizontal" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg></button></div></div></div><div class="Box-sc-g0xbh4-0 vIPPs"><div data-hpc="true"><button hidden="" data-testid="focus-next-element-button" data-hotkey="j"></button><button hidden="" data-testid="focus-previous-element-button" data-hotkey="k"></button><h2 class="sr-only ScreenReaderHeading-module__userSelectNone--vW4Cq prc-Heading-Heading-6CmGO" data-testid="screen-reader-heading" id="folders-and-files">Folders and files</h2><table aria-labelledby="folders-and-files" class="Box-sc-g0xbh4-0 fdROMU"><thead class="Box-sc-g0xbh4-0 jGKpsv"><tr class="Box-sc-g0xbh4-0 jdgHnn"><th colSpan="2" class="Box-sc-g0xbh4-0 bQivRW"><span class="text-bold">Name</span></th><th colSpan="1" class="Box-sc-g0xbh4-0 ldkMIO"><span class="text-bold">Name</span></th><th class="hide-sm"><div title="Last commit message" class="Truncate__StyledTruncate-sc-23o1d2-0 liVpTx width-fit"><span class="text-bold">Last commit message</span></div></th><th colSpan="1" class="Box-sc-g0xbh4-0 jMbWeI"><div title="Last commit date" class="Truncate__StyledTruncate-sc-23o1d2-0 liVpTx width-fit"><span class="text-bold">Last commit date</span></div></th></tr></thead><tbody><tr class="Box-sc-g0xbh4-0 gpqjiB"><td colSpan="3" class="bgColor-muted p-1 rounded-top-2"><div class="Box-sc-g0xbh4-0 dzCJzi"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone--vW4Cq prc-Heading-Heading-6CmGO" data-testid="screen-reader-heading">Latest commit</h2><div style="width:120px" class="Skeleton Skeleton--text" data-testid="loading"> </div><div class="d-flex flex-shrink-0 gap-2"><div data-testid="latest-commit-details" class="d-none d-sm-flex flex-items-center"></div><div class="d-flex gap-2"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone--vW4Cq prc-Heading-Heading-6CmGO" data-testid="screen-reader-heading">History</h2><a href="/aws/aws-sdk-ruby/commits/version-3/" class="prc-Button-ButtonBase-c50BI d-none d-lg-flex LinkButton-module__code-view-link-button--xvCGA flex-items-center fgColor-default" data-loading="false" data-size="small" data-variant="invisible" aria-describedby=":Raqj8pab:-loading-announcement"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-HKbr-"><span data-component="leadingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-history" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path></svg></span><span data-component="text" class="prc-Button-Label-pTQ3x"><span class="fgColor-default">7,729 Commits</span></span></span></a><div class="d-sm-none"></div><div class="d-flex d-lg-none"><span role="tooltip" aria-label="7,729 Commits" id="history-icon-button-tooltip" class="Tooltip__TooltipBase-sc-17tf59c-0 hWlpPn tooltipped-n"><a href="/aws/aws-sdk-ruby/commits/version-3/" class="prc-Button-ButtonBase-c50BI LinkButton-module__code-view-link-button--xvCGA flex-items-center fgColor-default" data-loading="false" data-size="small" data-variant="invisible" aria-describedby=":R1iqj8pab:-loading-announcement history-icon-button-tooltip"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-HKbr-"><span data-component="leadingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-history" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path></svg></span></span></a></span></div></div></div></div></td></tr><tr class="react-directory-row undefined" id="folder-row-0"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title=".github" aria-label=".github, (Directory)" class="Link--primary" href="/aws/aws-sdk-ruby/tree/version-3/.github">.github</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title=".github" aria-label=".github, (Directory)" class="Link--primary" href="/aws/aws-sdk-ruby/tree/version-3/.github">.github</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row undefined" id="folder-row-1"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="apis" aria-label="apis, (Directory)" class="Link--primary" href="/aws/aws-sdk-ruby/tree/version-3/apis">apis</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="apis" aria-label="apis, (Directory)" class="Link--primary" href="/aws/aws-sdk-ruby/tree/version-3/apis">apis</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row undefined" id="folder-row-2"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="build_tools" aria-label="build_tools, (Directory)" class="Link--primary" href="/aws/aws-sdk-ruby/tree/version-3/build_tools">build_tools</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="build_tools" aria-label="build_tools, (Directory)" class="Link--primary" href="/aws/aws-sdk-ruby/tree/version-3/build_tools">build_tools</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row undefined" id="folder-row-3"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="doc-src" aria-label="doc-src, (Directory)" class="Link--primary" href="/aws/aws-sdk-ruby/tree/version-3/doc-src">doc-src</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="doc-src" aria-label="doc-src, (Directory)" class="Link--primary" href="/aws/aws-sdk-ruby/tree/version-3/doc-src">doc-src</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row undefined" id="folder-row-4"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="gems" aria-label="gems, (Directory)" class="Link--primary" href="/aws/aws-sdk-ruby/tree/version-3/gems">gems</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="gems" aria-label="gems, (Directory)" class="Link--primary" href="/aws/aws-sdk-ruby/tree/version-3/gems">gems</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row undefined" id="folder-row-5"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="tasks" aria-label="tasks, (Directory)" class="Link--primary" href="/aws/aws-sdk-ruby/tree/version-3/tasks">tasks</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="tasks" aria-label="tasks, (Directory)" class="Link--primary" href="/aws/aws-sdk-ruby/tree/version-3/tasks">tasks</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row undefined" id="folder-row-6"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title=".gitignore" aria-label=".gitignore, (File)" class="Link--primary" href="/aws/aws-sdk-ruby/blob/version-3/.gitignore">.gitignore</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title=".gitignore" aria-label=".gitignore, (File)" class="Link--primary" href="/aws/aws-sdk-ruby/blob/version-3/.gitignore">.gitignore</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row undefined" id="folder-row-7"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title=".gitmodules" aria-label=".gitmodules, (File)" class="Link--primary" href="/aws/aws-sdk-ruby/blob/version-3/.gitmodules">.gitmodules</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title=".gitmodules" aria-label=".gitmodules, (File)" class="Link--primary" href="/aws/aws-sdk-ruby/blob/version-3/.gitmodules">.gitmodules</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row undefined" id="folder-row-8"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title=".rubocop.yml" aria-label=".rubocop.yml, (File)" class="Link--primary" href="/aws/aws-sdk-ruby/blob/version-3/.rubocop.yml">.rubocop.yml</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title=".rubocop.yml" aria-label=".rubocop.yml, (File)" class="Link--primary" href="/aws/aws-sdk-ruby/blob/version-3/.rubocop.yml">.rubocop.yml</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row undefined" id="folder-row-9"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title=".yardopts" aria-label=".yardopts, (File)" class="Link--primary" href="/aws/aws-sdk-ruby/blob/version-3/.yardopts">.yardopts</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title=".yardopts" aria-label=".yardopts, (File)" class="Link--primary" href="/aws/aws-sdk-ruby/blob/version-3/.yardopts">.yardopts</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row truncate-for-mobile" id="folder-row-10"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="CODE_OF_CONDUCT.md" aria-label="CODE_OF_CONDUCT.md, (File)" class="Link--primary" href="/aws/aws-sdk-ruby/blob/version-3/CODE_OF_CONDUCT.md">CODE_OF_CONDUCT.md</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="CODE_OF_CONDUCT.md" aria-label="CODE_OF_CONDUCT.md, (File)" class="Link--primary" href="/aws/aws-sdk-ruby/blob/version-3/CODE_OF_CONDUCT.md">CODE_OF_CONDUCT.md</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row truncate-for-mobile" id="folder-row-11"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="CONTRIBUTING.md" aria-label="CONTRIBUTING.md, (File)" class="Link--primary" href="/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md">CONTRIBUTING.md</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="CONTRIBUTING.md" aria-label="CONTRIBUTING.md, (File)" class="Link--primary" href="/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md">CONTRIBUTING.md</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row truncate-for-mobile" id="folder-row-12"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="Gemfile" aria-label="Gemfile, (File)" class="Link--primary" href="/aws/aws-sdk-ruby/blob/version-3/Gemfile">Gemfile</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="Gemfile" aria-label="Gemfile, (File)" class="Link--primary" href="/aws/aws-sdk-ruby/blob/version-3/Gemfile">Gemfile</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row truncate-for-mobile" id="folder-row-13"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="LICENSE.txt" aria-label="LICENSE.txt, (File)" class="Link--primary" href="/aws/aws-sdk-ruby/blob/version-3/LICENSE.txt">LICENSE.txt</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="LICENSE.txt" aria-label="LICENSE.txt, (File)" class="Link--primary" href="/aws/aws-sdk-ruby/blob/version-3/LICENSE.txt">LICENSE.txt</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row truncate-for-mobile" id="folder-row-14"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="NOTICE.txt" aria-label="NOTICE.txt, (File)" class="Link--primary" href="/aws/aws-sdk-ruby/blob/version-3/NOTICE.txt">NOTICE.txt</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="NOTICE.txt" aria-label="NOTICE.txt, (File)" class="Link--primary" href="/aws/aws-sdk-ruby/blob/version-3/NOTICE.txt">NOTICE.txt</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row truncate-for-mobile" id="folder-row-15"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="README.md" aria-label="README.md, (File)" class="Link--primary" href="/aws/aws-sdk-ruby/blob/version-3/README.md">README.md</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="README.md" aria-label="README.md, (File)" class="Link--primary" href="/aws/aws-sdk-ruby/blob/version-3/README.md">README.md</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row truncate-for-mobile" id="folder-row-16"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="Rakefile" aria-label="Rakefile, (File)" class="Link--primary" href="/aws/aws-sdk-ruby/blob/version-3/Rakefile">Rakefile</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="Rakefile" aria-label="Rakefile, (File)" class="Link--primary" href="/aws/aws-sdk-ruby/blob/version-3/Rakefile">Rakefile</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row truncate-for-mobile" id="folder-row-17"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="UPGRADING.md" aria-label="UPGRADING.md, (File)" class="Link--primary" href="/aws/aws-sdk-ruby/blob/version-3/UPGRADING.md">UPGRADING.md</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="UPGRADING.md" aria-label="UPGRADING.md, (File)" class="Link--primary" href="/aws/aws-sdk-ruby/blob/version-3/UPGRADING.md">UPGRADING.md</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row truncate-for-mobile" id="folder-row-18"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="V3_UPGRADING_GUIDE.md" aria-label="V3_UPGRADING_GUIDE.md, (File)" class="Link--primary" href="/aws/aws-sdk-ruby/blob/version-3/V3_UPGRADING_GUIDE.md">V3_UPGRADING_GUIDE.md</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="V3_UPGRADING_GUIDE.md" aria-label="V3_UPGRADING_GUIDE.md, (File)" class="Link--primary" href="/aws/aws-sdk-ruby/blob/version-3/V3_UPGRADING_GUIDE.md">V3_UPGRADING_GUIDE.md</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row truncate-for-mobile" id="folder-row-19"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="rbs_collection.yaml" aria-label="rbs_collection.yaml, (File)" class="Link--primary" href="/aws/aws-sdk-ruby/blob/version-3/rbs_collection.yaml">rbs_collection.yaml</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="rbs_collection.yaml" aria-label="rbs_collection.yaml, (File)" class="Link--primary" href="/aws/aws-sdk-ruby/blob/version-3/rbs_collection.yaml">rbs_collection.yaml</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row truncate-for-mobile" id="folder-row-20"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="services.json" aria-label="services.json, (File)" class="Link--primary" href="/aws/aws-sdk-ruby/blob/version-3/services.json">services.json</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="services.json" aria-label="services.json, (File)" class="Link--primary" href="/aws/aws-sdk-ruby/blob/version-3/services.json">services.json</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="Box-sc-g0xbh4-0 eNCcrz show-for-mobile" data-testid="view-all-files-row"><td colSpan="3" class="Box-sc-g0xbh4-0 bHTcCe"><div><button class="prc-Link-Link-85e08">View all files</button></div></td></tr></tbody></table></div><div class="Box-sc-g0xbh4-0 csrIcr"><div class="Box-sc-g0xbh4-0 bUQNHB"><div itemscope="" itemType="https://schema.org/abstract" class="Box-sc-g0xbh4-0 jPdcfu"><h2 class="_VisuallyHidden__VisuallyHidden-sc-11jhm7a-0 brGdpi">Repository files navigation</h2><nav class="Box-sc-g0xbh4-0 iphEWz prc-components-UnderlineWrapper-oOh5J" aria-label="Repository files"><ul class="prc-components-UnderlineItemList-b23Hf" role="list"><li class="Box-sc-g0xbh4-0 hUCRAk"><a class="prc-components-UnderlineItem-lJsg-" href="#" aria-current="page"><span data-component="icon"><svg aria-hidden="true" focusable="false" class="octicon octicon-book" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path></svg></span><span data-component="text" data-content="README">README</span></a></li><li class="Box-sc-g0xbh4-0 hUCRAk"><a class="prc-components-UnderlineItem-lJsg-" href="#"><span data-component="icon"><svg aria-hidden="true" focusable="false" class="octicon octicon-code-of-conduct" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8.048 2.241c.964-.709 2.079-1.238 3.325-1.241a4.616 4.616 0 0 1 3.282 1.355c.41.408.757.86.996 1.428.238.568.348 1.206.347 1.968 0 2.193-1.505 4.254-3.081 5.862-1.496 1.526-3.213 2.796-4.249 3.563l-.22.163a.749.749 0 0 1-.895 0l-.221-.163c-1.036-.767-2.753-2.037-4.249-3.563C1.51 10.008.007 7.952.002 5.762a4.614 4.614 0 0 1 1.353-3.407C3.123.585 6.223.537 8.048 2.24Zm-1.153.983c-1.25-1.033-3.321-.967-4.48.191a3.115 3.115 0 0 0-.913 2.335c0 1.556 1.109 3.24 2.652 4.813C5.463 11.898 6.96 13.032 8 13.805c.353-.262.758-.565 1.191-.905l-1.326-1.223a.75.75 0 0 1 1.018-1.102l1.48 1.366c.328-.281.659-.577.984-.887L9.99 9.802a.75.75 0 1 1 1.019-1.103l1.384 1.28c.295-.329.566-.661.81-.995L12.92 8.7l-1.167-1.168c-.674-.671-1.78-.664-2.474.03-.268.269-.538.537-.802.797-.893.882-2.319.843-3.185-.032-.346-.35-.693-.697-1.043-1.047a.75.75 0 0 1-.04-1.016c.162-.191.336-.401.52-.623.62-.748 1.356-1.637 2.166-2.417Zm7.112 4.442c.313-.65.491-1.293.491-1.916v-.001c0-.614-.088-1.045-.23-1.385-.143-.339-.357-.633-.673-.949a3.111 3.111 0 0 0-2.218-.915c-1.092.003-2.165.627-3.226 1.602-.823.755-1.554 1.637-2.228 2.45l-.127.154.562.566a.755.755 0 0 0 1.066.02l.794-.79c1.258-1.258 3.312-1.31 4.594-.032.396.394.792.791 1.173 1.173Z"></path></svg></span><span data-component="text" data-content="Code of conduct">Code of conduct</span></a></li><li class="Box-sc-g0xbh4-0 hUCRAk"><a class="prc-components-UnderlineItem-lJsg-" href="#"><span data-component="icon"><svg aria-hidden="true" focusable="false" class="octicon octicon-law" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path></svg></span><span data-component="text" data-content="Apache-2.0 license">Apache-2.0 license</span></a></li><li class="Box-sc-g0xbh4-0 hUCRAk"><a class="prc-components-UnderlineItem-lJsg-" href="#"><span data-component="icon"><svg aria-hidden="true" focusable="false" class="octicon octicon-law" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path></svg></span><span data-component="text" data-content="Security">Security</span></a></li></ul></nav><button style="--button-color:fg.subtle" type="button" aria-label="Outline" aria-haspopup="true" aria-expanded="false" tabindex="0" class="Box-sc-g0xbh4-0 cwoBXV prc-Button-ButtonBase-c50BI" data-loading="false" data-size="medium" data-variant="invisible" aria-describedby=":Rr9ab:-loading-announcement" id=":Rr9ab:"><svg aria-hidden="true" focusable="false" class="octicon octicon-list-unordered" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M5.75 2.5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5Zm0 5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5Zm0 5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5ZM2 14a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm1-6a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM2 4a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></svg></button></div><div class="Box-sc-g0xbh4-0 QkQOb js-snippet-clipboard-copy-unpositioned undefined" data-hpc="true"><article class="markdown-body entry-content container-lg" itemprop="text"><div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">AWS SDK for Ruby - Version 3</h1><a id="user-content-aws-sdk-for-ruby---version-3" class="anchor" aria-label="Permalink: AWS SDK for Ruby - Version 3" href="#aws-sdk-for-ruby---version-3"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto"><a href="https://badge.fury.io/rb/aws-sdk-core" rel="nofollow"><img src="https://camo.githubusercontent.com/8f1c5c6b52fe592fcd06b66f03caa43bd6817363b8ad986225e3117ce4bf994e/68747470733a2f2f62616467652e667572792e696f2f72622f6177732d73646b2d636f72652e737667" alt="Gem Version" data-canonical-src="https://badge.fury.io/rb/aws-sdk-core.svg" style="max-width: 100%;"></a> <a href="https://github.com/aws/aws-sdk-ruby/actions"><img src="https://github.com/aws/aws-sdk-ruby/workflows/CI/badge.svg" alt="Build Status" style="max-width: 100%;"></a> <a href="https://github.com/aws/aws-sdk-ruby/network"><img src="https://camo.githubusercontent.com/68bbcffdcf56f592483a7ab8efd66c2d18ca73d9f28b1e2d9db2bb6032907b05/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6177732f6177732d73646b2d727562792e737667" alt="Github forks" data-canonical-src="https://img.shields.io/github/forks/aws/aws-sdk-ruby.svg" style="max-width: 100%;"></a> <a href="https://github.com/aws/aws-sdk-ruby/stargazers"><img src="https://camo.githubusercontent.com/e3f4686cfdc9d1a7191ee316cbdcc951ac8139283c224320f49d75d1561f949e/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6177732f6177732d73646b2d727562792e737667" alt="Github stars" data-canonical-src="https://img.shields.io/github/stars/aws/aws-sdk-ruby.svg" style="max-width: 100%;"></a></p> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Links of Interest</h2><a id="user-content-links-of-interest" class="anchor" aria-label="Permalink: Links of Interest" href="#links-of-interest"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ul dir="auto"> <li><a href="https://docs.aws.amazon.com/sdk-for-ruby/v3/api/index.html" rel="nofollow">API Documentation</a></li> <li><a href="https://docs.aws.amazon.com/sdk-for-ruby/v3/developer-guide/welcome.html" rel="nofollow">Developer Guide</a></li> <li><a href="https://github.com/aws/aws-sdk-ruby/blob/version-3/V3_UPGRADING_GUIDE.md">V3 Upgrading Guide</a></li> <li><a href="https://aws.amazon.com/blogs/developer/category/programing-language/ruby/" rel="nofollow">AWS Developer Blog</a></li> <li><a href="https://github.com/aws/aws-sdk-ruby/discussions">Github Discussions</a></li> </ul> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Installation</h2><a id="user-content-installation" class="anchor" aria-label="Permalink: Installation" href="#installation"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">The AWS SDK for Ruby is available from RubyGems. With V3 modularization, you should pick the specific AWS service gems to install.</p> <div class="highlight highlight-source-ruby notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="gem 'aws-sdk-s3', '~> 1' gem 'aws-sdk-ec2', '~> 1'"><pre><span class="pl-en">gem</span> <span class="pl-s">'aws-sdk-s3'</span><span class="pl-kos">,</span> <span class="pl-s">'~> 1'</span> <span class="pl-en">gem</span> <span class="pl-s">'aws-sdk-ec2'</span><span class="pl-kos">,</span> <span class="pl-s">'~> 1'</span></pre></div> <p dir="auto">Alternatively, the <code>aws-sdk</code> gem contains every available AWS service gem. This gem is very large; it is recommended to use it only as a quick way to migrate from V2 or if you depend on many AWS services.</p> <div class="highlight highlight-source-ruby notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="gem 'aws-sdk', '~> 3'"><pre><span class="pl-en">gem</span> <span class="pl-s">'aws-sdk'</span><span class="pl-kos">,</span> <span class="pl-s">'~> 3'</span></pre></div> <p dir="auto"><strong>Please use a pessimistic version constraint on the major version when depending on service gems.</strong></p> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Configuration</h2><a id="user-content-configuration" class="anchor" aria-label="Permalink: Configuration" href="#configuration"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">You will need to configure credentials and a region, either in <a href="https://docs.aws.amazon.com/sdkref/latest/guide/file-location.html" rel="nofollow">configuration files</a> or environment variables, to make API calls. It is recommended that you provide these via your environment. This makes it easier to rotate credentials and it keeps your secrets out of source control.</p> <p dir="auto">The SDK searches the following locations for credentials:</p> <ul dir="auto"> <li><code>ENV['AWS_ACCESS_KEY_ID']</code> and <code>ENV['AWS_SECRET_ACCESS_KEY']</code></li> <li>The shared credentials ini file at <code>~/.aws/credentials</code>. The location used can be changed with the <code>AWS_CREDENTIALS_FILE</code> ENV variable. <ul dir="auto"> <li>Credential options supported in this file are: <ul dir="auto"> <li>Static Credentials (<code>aws_access_key_id</code>, <code>aws_secret_access_key</code>, <code>aws_session_token</code>)</li> <li>Assume Role Web Identity Credentials (<code>web_identity_token_file</code>, <code>role_arn</code>, <code>source_profile</code>)</li> <li>Assume Role Credentials (<code>role_arn</code>, <code>source_profile</code>)</li> <li>Process Credentials (<code>credential_process</code>)</li> <li>SSO Credentials (<code>sso_session</code>, <code>sso_account_id</code>, <code>sso_role_name</code>, <code>sso_region</code>)</li> </ul> </li> <li>Unless <code>ENV['AWS_SDK_CONFIG_OPT_OUT']</code> is set, the shared configuration ini file at <code>~/.aws/config</code> will also be parsed for credentials.</li> </ul> </li> <li>From an instance profile when running on EC2 or from the ECS credential provider when running in an ECS container with that feature enabled.</li> </ul> <p dir="auto"><strong>Shared configuration is loaded only a single time, and credentials are provided statically at client creation time. Shared credentials do not refresh.</strong></p> <p dir="auto">The SDK searches the following locations for a region:</p> <ul dir="auto"> <li><code>ENV['AWS_REGION']</code></li> <li><code>ENV['AMAZON_REGION']</code></li> <li><code>ENV['AWS_DEFAULT_REGION']</code></li> <li>Unless <code>ENV['AWS_SDK_CONFIG_OPT_OUT']</code> is set, the shared configuration files (<code>~/.aws/credentials</code> and <code>~/.aws/config</code>) will also be checked for a region selection.</li> </ul> <p dir="auto"><strong>The region is used to construct an SSL endpoint</strong>. If you need to connect to a non-standard endpoint, you may specify the <code>:endpoint</code> option.</p> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Configuration Options</h3><a id="user-content-configuration-options" class="anchor" aria-label="Permalink: Configuration Options" href="#configuration-options"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">You can also configure default credentials and the region via the <code>Aws.config</code> hash. The <code>Aws.config</code> hash takes precedence over environment variables.</p> <div class="highlight highlight-source-ruby notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="require 'aws-sdk-core' Aws.config.update( region: 'us-west-2', credentials: Aws::Credentials.new('akid', 'secret') )"><pre><span class="pl-en">require</span> <span class="pl-s">'aws-sdk-core'</span> <span class="pl-v">Aws</span><span class="pl-kos">.</span><span class="pl-en">config</span><span class="pl-kos">.</span><span class="pl-en">update</span><span class="pl-kos">(</span> <span class="pl-pds">region</span>: <span class="pl-s">'us-west-2'</span><span class="pl-kos">,</span> <span class="pl-pds">credentials</span>: <span class="pl-v">Aws</span>::<span class="pl-v">Credentials</span><span class="pl-kos">.</span><span class="pl-en">new</span><span class="pl-kos">(</span><span class="pl-s">'akid'</span><span class="pl-kos">,</span> <span class="pl-s">'secret'</span><span class="pl-kos">)</span> <span class="pl-kos">)</span></pre></div> <p dir="auto">Valid region and credentials options are:</p> <ul dir="auto"> <li><code>:region</code> - A string like <code>us-west-2</code>. See <a href="https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html" rel="nofollow">this page</a> for a list of supported regions by service.</li> <li><code>:credentials</code> - An instance of one of the following classes: <ul dir="auto"> <li><a href="http://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Credentials.html" rel="nofollow"><code>Aws::Credentials</code></a></li> <li><a href="https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/AssumeRoleWebIdentityCredentials.html" rel="nofollow"><code>Aws::AssumeRoleWebIdentityCredentials</code></a></li> <li><a href="http://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/AssumeRoleCredentials.html" rel="nofollow"><code>Aws::AssumeRoleCredentials</code></a></li> <li><a href="http://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SharedCredentials.html" rel="nofollow"><code>Aws::SharedCredentials</code></a></li> <li><a href="https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ProcessCredentials.html" rel="nofollow"><code>Aws::ProcessCredentials</code></a></li> <li><a href="http://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/InstanceProfileCredentials.html" rel="nofollow"><code>Aws::InstanceProfileCredentials</code></a></li> <li><a href="https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ECSCredentials.html" rel="nofollow"><code>Aws::ECSCredentials</code></a></li> <li><a href="https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CognitoIdentity/CognitoIdentityCredentials.html" rel="nofollow"><code>Aws::CognitoIdentityCredentials</code></a></li> </ul> </li> </ul> <p dir="auto">You may also pass configuration options directly to Client and Resource constructors. These options take precedence over the environment and <code>Aws.config</code> defaults. A <code>:profile</code> Client option can also be used to choose a specific profile defined in your configuration file.</p> <div class="highlight highlight-source-ruby notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="# using a credentials object ec2 = Aws::EC2::Client.new(region: 'us-west-2', credentials: credentials) # using a profile name ec2 = Aws::EC2::Client.new(profile: 'my_profile')"><pre><span class="pl-c"># using a credentials object</span> <span class="pl-s1">ec2</span> <span class="pl-c1">=</span> <span class="pl-v">Aws</span>::<span class="pl-c1">EC2</span>::<span class="pl-v">Client</span><span class="pl-kos">.</span><span class="pl-en">new</span><span class="pl-kos">(</span><span class="pl-pds">region</span>: <span class="pl-s">'us-west-2'</span><span class="pl-kos">,</span> <span class="pl-pds">credentials</span>: <span class="pl-en">credentials</span><span class="pl-kos">)</span> <span class="pl-c"># using a profile name</span> <span class="pl-s1">ec2</span> <span class="pl-c1">=</span> <span class="pl-v">Aws</span>::<span class="pl-c1">EC2</span>::<span class="pl-v">Client</span><span class="pl-kos">.</span><span class="pl-en">new</span><span class="pl-kos">(</span><span class="pl-pds">profile</span>: <span class="pl-s">'my_profile'</span><span class="pl-kos">)</span></pre></div> <p dir="auto">Please take care to <strong>never commit credentials to source control</strong>. We strongly recommended loading credentials from an external source.</p> <div class="highlight highlight-source-ruby notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="require 'aws-sdk' require 'json' creds = JSON.load(File.read('secrets.json')) Aws.config[:credentials] = Aws::Credentials.new( creds['AccessKeyId'], creds['SecretAccessKey'] )"><pre><span class="pl-en">require</span> <span class="pl-s">'aws-sdk'</span> <span class="pl-en">require</span> <span class="pl-s">'json'</span> <span class="pl-s1">creds</span> <span class="pl-c1">=</span> <span class="pl-c1">JSON</span><span class="pl-kos">.</span><span class="pl-en">load</span><span class="pl-kos">(</span><span class="pl-v">File</span><span class="pl-kos">.</span><span class="pl-en">read</span><span class="pl-kos">(</span><span class="pl-s">'secrets.json'</span><span class="pl-kos">)</span><span class="pl-kos">)</span> <span class="pl-v">Aws</span><span class="pl-kos">.</span><span class="pl-en">config</span><span class="pl-kos">[</span><span class="pl-pds">:credentials</span><span class="pl-kos">]</span> <span class="pl-c1">=</span> <span class="pl-v">Aws</span>::<span class="pl-v">Credentials</span><span class="pl-kos">.</span><span class="pl-en">new</span><span class="pl-kos">(</span> <span class="pl-s1">creds</span><span class="pl-kos">[</span><span class="pl-s">'AccessKeyId'</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-s1">creds</span><span class="pl-kos">[</span><span class="pl-s">'SecretAccessKey'</span><span class="pl-kos">]</span> <span class="pl-kos">)</span></pre></div> <p dir="auto">For more information on how to configure credentials, see the developer guide for <a href="https://docs.aws.amazon.com/sdk-for-ruby/v3/developer-guide/setup-config.html" rel="nofollow">configuring AWS SDK for Ruby</a>.</p> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">API Clients</h2><a id="user-content-api-clients" class="anchor" aria-label="Permalink: API Clients" href="#api-clients"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Construct a service client to make API calls. Each client provides a 1-to-1 mapping of methods to API operations. Refer to the <a href="https://docs.aws.amazon.com/sdk-for-ruby/v3/api/index.html" rel="nofollow">API documentation</a> for a complete list of available methods.</p> <div class="highlight highlight-source-ruby notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="# list buckets in Amazon S3 s3 = Aws::S3::Client.new resp = s3.list_buckets resp.buckets.map(&:name) #=> ["bucket-1", "bucket-2", ...]"><pre><span class="pl-c"># list buckets in Amazon S3</span> <span class="pl-s1">s3</span> <span class="pl-c1">=</span> <span class="pl-v">Aws</span>::<span class="pl-c1">S3</span>::<span class="pl-v">Client</span><span class="pl-kos">.</span><span class="pl-en">new</span> <span class="pl-s1">resp</span> <span class="pl-c1">=</span> <span class="pl-s1">s3</span><span class="pl-kos">.</span><span class="pl-en">list_buckets</span> <span class="pl-s1">resp</span><span class="pl-kos">.</span><span class="pl-en">buckets</span><span class="pl-kos">.</span><span class="pl-en">map</span><span class="pl-kos">(</span>&<span class="pl-pds">:name</span><span class="pl-kos">)</span> <span class="pl-c">#=> ["bucket-1", "bucket-2", ...]</span></pre></div> <p dir="auto">API methods accept a hash of additional request parameters and return structured response data.</p> <div class="highlight highlight-source-ruby notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="# list the first two objects in a bucket resp = s3.list_objects(bucket: 'aws-sdk', max_keys: 2) resp.contents.each do |object| puts "#{object.key} => #{object.etag}" end"><pre><span class="pl-c"># list the first two objects in a bucket</span> <span class="pl-s1">resp</span> <span class="pl-c1">=</span> <span class="pl-en">s3</span><span class="pl-kos">.</span><span class="pl-en">list_objects</span><span class="pl-kos">(</span><span class="pl-pds">bucket</span>: <span class="pl-s">'aws-sdk'</span><span class="pl-kos">,</span> <span class="pl-pds">max_keys</span>: <span class="pl-c1">2</span><span class="pl-kos">)</span> <span class="pl-s1">resp</span><span class="pl-kos">.</span><span class="pl-en">contents</span><span class="pl-kos">.</span><span class="pl-en">each</span> <span class="pl-k">do</span> |<span class="pl-s1">object</span>| <span class="pl-en">puts</span> <span class="pl-s">"<span class="pl-s1"><span class="pl-kos">#{</span><span class="pl-s1">object</span><span class="pl-kos">.</span><span class="pl-en">key</span><span class="pl-kos">}</span></span> => <span class="pl-s1"><span class="pl-kos">#{</span><span class="pl-s1">object</span><span class="pl-kos">.</span><span class="pl-en">etag</span><span class="pl-kos">}</span></span>"</span> <span class="pl-k">end</span></pre></div> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Paging Responses</h3><a id="user-content-paging-responses" class="anchor" aria-label="Permalink: Paging Responses" href="#paging-responses"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Many AWS operations limit the number of results returned with each response. To make it easy to get the next page of results, every AWS response object is enumerable:</p> <div class="highlight highlight-source-ruby notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="# yields one response object per API call made, this will enumerate # EVERY object in the named bucket s3.list_objects(bucket:'aws-sdk').each do |response| puts response.contents.map(&:key) end"><pre><span class="pl-c"># yields one response object per API call made, this will enumerate</span> <span class="pl-c"># EVERY object in the named bucket</span> <span class="pl-en">s3</span><span class="pl-kos">.</span><span class="pl-en">list_objects</span><span class="pl-kos">(</span><span class="pl-pds">bucket</span>:<span class="pl-s">'aws-sdk'</span><span class="pl-kos">)</span><span class="pl-kos">.</span><span class="pl-en">each</span> <span class="pl-k">do</span> |<span class="pl-s1">response</span>| <span class="pl-en">puts</span> <span class="pl-s1">response</span><span class="pl-kos">.</span><span class="pl-en">contents</span><span class="pl-kos">.</span><span class="pl-en">map</span><span class="pl-kos">(</span>&<span class="pl-pds">:key</span><span class="pl-kos">)</span> <span class="pl-k">end</span></pre></div> <p dir="auto">If you prefer to control paging yourself, response objects have helper methods that control paging:</p> <div class="highlight highlight-source-ruby notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="# make a request that returns a truncated response resp = s3.list_objects(bucket: 'aws-sdk') resp.last_page? #=> false resp.next_page? #=> true resp = resp.next_page # send a request for the next response page resp = resp.next_page until resp.last_page?"><pre><span class="pl-c"># make a request that returns a truncated response</span> <span class="pl-s1">resp</span> <span class="pl-c1">=</span> <span class="pl-en">s3</span><span class="pl-kos">.</span><span class="pl-en">list_objects</span><span class="pl-kos">(</span><span class="pl-pds">bucket</span>: <span class="pl-s">'aws-sdk'</span><span class="pl-kos">)</span> <span class="pl-s1">resp</span><span class="pl-kos">.</span><span class="pl-en">last_page?</span> <span class="pl-c">#=> false</span> <span class="pl-s1">resp</span><span class="pl-kos">.</span><span class="pl-en">next_page?</span> <span class="pl-c">#=> true</span> <span class="pl-s1">resp</span> <span class="pl-c1">=</span> <span class="pl-s1">resp</span><span class="pl-kos">.</span><span class="pl-en">next_page</span> <span class="pl-c"># send a request for the next response page</span> <span class="pl-s1">resp</span> <span class="pl-c1">=</span> <span class="pl-s1">resp</span><span class="pl-kos">.</span><span class="pl-en">next_page</span> <span class="pl-k">until</span> <span class="pl-s1">resp</span><span class="pl-kos">.</span><span class="pl-en">last_page?</span></pre></div> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Waiters</h3><a id="user-content-waiters" class="anchor" aria-label="Permalink: Waiters" href="#waiters"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Waiters are utility methods that poll for a particular state. To invoke a waiter, call <code>#wait_until</code> on a client:</p> <div class="highlight highlight-source-ruby notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="begin ec2.wait_until(:instance_running, instance_ids:['i-12345678']) puts "instance running" rescue Aws::Waiters::Errors::WaiterFailed => error puts "failed waiting for instance running: #{error.message}" end"><pre><span class="pl-k">begin</span> <span class="pl-en">ec2</span><span class="pl-kos">.</span><span class="pl-en">wait_until</span><span class="pl-kos">(</span><span class="pl-pds">:instance_running</span><span class="pl-kos">,</span> <span class="pl-pds">instance_ids</span>:<span class="pl-kos">[</span><span class="pl-s">'i-12345678'</span><span class="pl-kos">]</span><span class="pl-kos">)</span> <span class="pl-en">puts</span> <span class="pl-s">"instance running"</span> <span class="pl-k">rescue</span> <span class="pl-v">Aws</span>::<span class="pl-v">Waiters</span>::<span class="pl-v">Errors</span>::<span class="pl-v">WaiterFailed</span> <span class="pl-c1">=></span> <span class="pl-en">error</span> <span class="pl-en">puts</span> <span class="pl-s">"failed waiting for instance running: <span class="pl-s1"><span class="pl-kos">#{</span><span class="pl-en">error</span><span class="pl-kos">.</span><span class="pl-en">message</span><span class="pl-kos">}</span></span>"</span> <span class="pl-k">end</span></pre></div> <p dir="auto">Waiters have sensible default polling intervals and maximum attempts. You can configure these per call to <code>#wait_until</code>. You can also register callbacks that are triggered before each polling attempt and before waiting. See the API documentation for more examples and for a list of supported waiters per service.</p> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Resource Interfaces</h2><a id="user-content-resource-interfaces" class="anchor" aria-label="Permalink: Resource Interfaces" href="#resource-interfaces"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Resource interfaces are object oriented classes that represent actual resources in AWS. Resource interfaces built on top of API clients and provide additional functionality.</p> <p dir="auto"><strong>Only a few services implement a resource interface. They are defined by hand in JSON and have limitations. Please use the Client API instead.</strong></p> <div class="highlight highlight-source-ruby notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="s3 = Aws::S3::Resource.new # reference an existing bucket by name bucket = s3.bucket('aws-sdk') # enumerate every object in a bucket bucket.objects.each do |obj| puts "#{obj.key} => #{obj.etag}" end # batch operations, delete objects in batches of 1k bucket.objects(prefix: '/tmp-files/').delete # single object operations obj = bucket.object('hello') obj.put(body:'Hello World!') obj.etag obj.delete"><pre><span class="pl-s1">s3</span> <span class="pl-c1">=</span> <span class="pl-v">Aws</span>::<span class="pl-c1">S3</span>::<span class="pl-v">Resource</span><span class="pl-kos">.</span><span class="pl-en">new</span> <span class="pl-c"># reference an existing bucket by name</span> <span class="pl-s1">bucket</span> <span class="pl-c1">=</span> <span class="pl-s1">s3</span><span class="pl-kos">.</span><span class="pl-s1">bucket</span><span class="pl-kos">(</span><span class="pl-s">'aws-sdk'</span><span class="pl-kos">)</span> <span class="pl-c"># enumerate every object in a bucket</span> <span class="pl-s1">bucket</span><span class="pl-kos">.</span><span class="pl-en">objects</span><span class="pl-kos">.</span><span class="pl-en">each</span> <span class="pl-k">do</span> |<span class="pl-s1">obj</span>| <span class="pl-en">puts</span> <span class="pl-s">"<span class="pl-s1"><span class="pl-kos">#{</span><span class="pl-s1">obj</span><span class="pl-kos">.</span><span class="pl-en">key</span><span class="pl-kos">}</span></span> => <span class="pl-s1"><span class="pl-kos">#{</span><span class="pl-s1">obj</span><span class="pl-kos">.</span><span class="pl-en">etag</span><span class="pl-kos">}</span></span>"</span> <span class="pl-k">end</span> <span class="pl-c"># batch operations, delete objects in batches of 1k</span> <span class="pl-s1">bucket</span><span class="pl-kos">.</span><span class="pl-en">objects</span><span class="pl-kos">(</span><span class="pl-pds">prefix</span>: <span class="pl-s">'/tmp-files/'</span><span class="pl-kos">)</span><span class="pl-kos">.</span><span class="pl-en">delete</span> <span class="pl-c"># single object operations</span> <span class="pl-s1">obj</span> <span class="pl-c1">=</span> <span class="pl-s1">bucket</span><span class="pl-kos">.</span><span class="pl-en">object</span><span class="pl-kos">(</span><span class="pl-s">'hello'</span><span class="pl-kos">)</span> <span class="pl-s1">obj</span><span class="pl-kos">.</span><span class="pl-en">put</span><span class="pl-kos">(</span><span class="pl-pds">body</span>:<span class="pl-s">'Hello World!'</span><span class="pl-kos">)</span> <span class="pl-s1">obj</span><span class="pl-kos">.</span><span class="pl-en">etag</span> <span class="pl-s1">obj</span><span class="pl-kos">.</span><span class="pl-en">delete</span></pre></div> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">REPL - AWS Interactive Console</h2><a id="user-content-repl---aws-interactive-console" class="anchor" aria-label="Permalink: REPL - AWS Interactive Console" href="#repl---aws-interactive-console"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">The <code>aws-sdk</code> gem ships with a REPL that provides a simple way to test the Ruby SDK. You can access the REPL by running <code>aws-v3.rb</code> from the command line.</p> <div class="highlight highlight-source-ruby notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="$ aws-v3.rb [1] pry(Aws)> ec2.describe_instances.reservations.first.instances.first [Aws::EC2::Client 200 0.216615 0 retries] describe_instances() <struct instance_id="i-1234567", image_id="ami-7654321", state=<struct code=16, name="running">, ...>"><pre>$ <span class="pl-en">aws</span>-<span class="pl-en">v3</span><span class="pl-kos">.</span><span class="pl-en">rb</span> <span class="pl-kos">[</span><span class="pl-c1">1</span><span class="pl-kos">]</span> <span class="pl-en">pry</span><span class="pl-kos">(</span><span class="pl-v">Aws</span><span class="pl-kos">)</span>> <span class="pl-en">ec2</span><span class="pl-kos">.</span><span class="pl-en">describe_instances</span><span class="pl-kos">.</span><span class="pl-en">reservations</span><span class="pl-kos">.</span><span class="pl-en">first</span><span class="pl-kos">.</span><span class="pl-en">instances</span><span class="pl-kos">.</span><span class="pl-en">first</span> <span class="pl-kos">[</span><span class="pl-v">Aws</span>::<span class="pl-c1">EC2</span>::<span class="pl-en">Client</span> <span class="pl-c1">200</span> <span class="pl-c1">0.216615</span> <span class="pl-c1">0</span> <span class="pl-en">retries</span><span class="pl-kos">]</span><span class="pl-kos"></span> <span class="pl-en">describe_instances</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <<span class="pl-en">struct</span> <span class="pl-s1">instance_id</span><span class="pl-c1">=</span><span class="pl-s">"i-1234567"</span><span class="pl-kos">,</span> <span class="pl-s1">image_id</span><span class="pl-c1">=</span><span class="pl-s">"ami-7654321"</span><span class="pl-kos">,</span> <span class="pl-en">state</span><span class="pl-c1">=</span><<span class="pl-en">struct</span> <span class="pl-s1">code</span><span class="pl-c1">=</span><span class="pl-c1">16</span><span class="pl-kos">,</span> <span class="pl-s1">name</span><span class="pl-c1">=</span><span class="pl-s">"running"</span>><span class="pl-kos">,</span> ...></pre></div> <p dir="auto">You can enable HTTP wire logging by setting the verbose flag:</p> <div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="$ aws-v3.rb -v"><pre class="notranslate"><code>$ aws-v3.rb -v </code></pre></div> <p dir="auto">In the REPL, every service class has a helper that returns a new client object. Simply downcase the service module name for the helper:</p> <ul dir="auto"> <li><code>s3</code> => <code>#<Aws::S3::Client></code></li> <li><code>ec2</code> => <code>#<Aws::EC2::Client></code></li> <li>etc</li> </ul> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Functionality requiring AWS Common Runtime (CRT)</h2><a id="user-content-functionality-requiring-aws-common-runtime-crt" class="anchor" aria-label="Permalink: Functionality requiring AWS Common Runtime (CRT)" href="#functionality-requiring-aws-common-runtime-crt"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">The AWS SDK for Ruby has optional functionality that requires the <a href="https://docs.aws.amazon.com/sdkref/latest/guide/common-runtime.html" rel="nofollow">AWS Common Runtime (CRT)</a> bindings to be included as a dependency with your application. This functionality includes:</p> <ul dir="auto"> <li>CRC-32c support for <a href="https://aws.amazon.com/blogs/aws/new-additional-checksum-algorithms-for-amazon-s3/" rel="nofollow">S3 Additional Checksums</a></li> </ul> <p dir="auto">AWS CRT bindings are in developer preview and are available in the the <a href="https://rubygems.org/gems/aws-crt/" rel="nofollow">aws-crt</a> gem. You can install them by adding the <code>aws-crt</code> gem to your Gemfile.</p> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Getting Help</h2><a id="user-content-getting-help" class="anchor" aria-label="Permalink: Getting Help" href="#getting-help"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Please use any of these resources for getting help:</p> <ul dir="auto"> <li>Ask a question on <a href="https://github.com/aws/aws-sdk-ruby/discussions">Github Discussions</a>.</li> <li>Ask a question on StackOverflow and <a href="http://stackoverflow.com/questions/tagged/aws-sdk-ruby" rel="nofollow">tag it</a> with <code>aws-sdk-ruby</code>.</li> <li>Open a support ticket with <a href="https://console.aws.amazon.com/support/home" rel="nofollow">AWS Support</a>.</li> </ul> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Maintenance and support for SDK major versions</h2><a id="user-content-maintenance-and-support-for-sdk-major-versions" class="anchor" aria-label="Permalink: Maintenance and support for SDK major versions" href="#maintenance-and-support-for-sdk-major-versions"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">For information about maintenance and support for SDK major versions and their underlying dependencies, see the following in the <a href="https://docs.aws.amazon.com/credref/latest/refdocs/overview.html" rel="nofollow">AWS SDKs and Tools Shared Configuration and Credentials Reference Guide</a>:</p> <ul dir="auto"> <li><a href="https://docs.aws.amazon.com/credref/latest/refdocs/maint-policy.html" rel="nofollow">AWS SDKs and Tools Maintenance Policy</a></li> <li><a href="https://docs.aws.amazon.com/credref/latest/refdocs/version-support-matrix.html" rel="nofollow">AWS SDKs and Tools Version Support Matrix</a></li> </ul> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Opening Issues</h2><a id="user-content-opening-issues" class="anchor" aria-label="Permalink: Opening Issues" href="#opening-issues"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">If you encounter a bug or have a feature request, we would like to hear about it. Search the existing issues and try to make sure your problem doesn’t already exist before opening a new issue.</p> <p dir="auto">The GitHub issues are intended for bug reports and feature requests. For help and questions with using <code>aws-sdk-ruby</code> please make use of the resources listed in the Getting Help section.</p> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Versioning</h2><a id="user-content-versioning" class="anchor" aria-label="Permalink: Versioning" href="#versioning"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">This project uses <a href="http://semver.org/" rel="nofollow">semantic versioning</a>. You can safely express a dependency on a major version and expect all minor and patch versions to be backwards compatible.</p> <p dir="auto">A CHANGELOG can be found at each gem's root path (i.e. <code>aws-sdk-s3</code> can be found at <code>gems/aws-sdk-s3/CHANGELOG.md</code>). The CHANGELOG is also accessible via the RubyGems.org page under "LINKS" section.</p> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Supported Services</h2><a id="user-content-supported-services" class="anchor" aria-label="Permalink: Supported Services" href="#supported-services"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <markdown-accessiblity-table><table> <thead> <tr> <th>Service Name</th> <th>Service Module</th> <th>gem_name</th> <th>API Version</th> </tr> </thead> <tbody> <tr> <td>AWS ARC - Zonal Shift</td> <td>Aws::ARCZonalShift</td> <td>aws-sdk-arczonalshift</td> <td>2022-10-30</td> </tr> <tr> <td>AWS Account</td> <td>Aws::Account</td> <td>aws-sdk-account</td> <td>2021-02-01</td> </tr> <tr> <td>AWS Amplify</td> <td>Aws::Amplify</td> <td>aws-sdk-amplify</td> <td>2017-07-25</td> </tr> <tr> <td>AWS Amplify UI Builder</td> <td>Aws::AmplifyUIBuilder</td> <td>aws-sdk-amplifyuibuilder</td> <td>2021-08-11</td> </tr> <tr> <td>AWS App Mesh</td> <td>Aws::AppMesh</td> <td>aws-sdk-appmesh</td> <td>2019-01-25</td> </tr> <tr> <td>AWS App Runner</td> <td>Aws::AppRunner</td> <td>aws-sdk-apprunner</td> <td>2020-05-15</td> </tr> <tr> <td>AWS AppConfig Data</td> <td>Aws::AppConfigData</td> <td>aws-sdk-appconfigdata</td> <td>2021-11-11</td> </tr> <tr> <td>AWS AppSync</td> <td>Aws::AppSync</td> <td>aws-sdk-appsync</td> <td>2017-07-25</td> </tr> <tr> <td>AWS Application Cost Profiler</td> <td>Aws::ApplicationCostProfiler</td> <td>aws-sdk-applicationcostprofiler</td> <td>2020-09-10</td> </tr> <tr> <td>AWS Application Discovery Service</td> <td>Aws::ApplicationDiscoveryService</td> <td>aws-sdk-applicationdiscoveryservice</td> <td>2015-11-01</td> </tr> <tr> <td>AWS Artifact</td> <td>Aws::Artifact</td> <td>aws-sdk-artifact</td> <td>2018-05-10</td> </tr> <tr> <td>AWS Audit Manager</td> <td>Aws::AuditManager</td> <td>aws-sdk-auditmanager</td> <td>2017-07-25</td> </tr> <tr> <td>AWS Auto Scaling Plans</td> <td>Aws::AutoScalingPlans</td> <td>aws-sdk-autoscalingplans</td> <td>2018-01-06</td> </tr> <tr> <td>AWS B2B Data Interchange</td> <td>Aws::B2bi</td> <td>aws-sdk-b2bi</td> <td>2022-06-23</td> </tr> <tr> <td>AWS Backup</td> <td>Aws::Backup</td> <td>aws-sdk-backup</td> <td>2018-11-15</td> </tr> <tr> <td>AWS Backup Gateway</td> <td>Aws::BackupGateway</td> <td>aws-sdk-backupgateway</td> <td>2021-01-01</td> </tr> <tr> <td>AWS Backup Search</td> <td>Aws::BackupSearch</td> <td>aws-sdk-backupsearch</td> <td>2018-05-10</td> </tr> <tr> <td>AWS Batch</td> <td>Aws::Batch</td> <td>aws-sdk-batch</td> <td>2016-08-10</td> </tr> <tr> <td>AWS Billing</td> <td>Aws::Billing</td> <td>aws-sdk-billing</td> <td>2023-09-07</td> </tr> <tr> <td>AWS Billing and Cost Management Data Exports</td> <td>Aws::BCMDataExports</td> <td>aws-sdk-bcmdataexports</td> <td>2023-11-26</td> </tr> <tr> <td>AWS Billing and Cost Management Pricing Calculator</td> <td>Aws::BCMPricingCalculator</td> <td>aws-sdk-bcmpricingcalculator</td> <td>2024-06-19</td> </tr> <tr> <td>AWS Budgets</td> <td>Aws::Budgets</td> <td>aws-sdk-budgets</td> <td>2016-10-20</td> </tr> <tr> <td>AWS Certificate Manager</td> <td>Aws::ACM</td> <td>aws-sdk-acm</td> <td>2015-12-08</td> </tr> <tr> <td>AWS Certificate Manager Private Certificate Authority</td> <td>Aws::ACMPCA</td> <td>aws-sdk-acmpca</td> <td>2017-08-22</td> </tr> <tr> <td>AWS Chatbot</td> <td>Aws::Chatbot</td> <td>aws-sdk-chatbot</td> <td>2017-10-11</td> </tr> <tr> <td>AWS Clean Rooms ML</td> <td>Aws::CleanRoomsML</td> <td>aws-sdk-cleanroomsml</td> <td>2023-09-06</td> </tr> <tr> <td>AWS Clean Rooms Service</td> <td>Aws::CleanRooms</td> <td>aws-sdk-cleanrooms</td> <td>2022-02-17</td> </tr> <tr> <td>AWS Cloud Control API</td> <td>Aws::CloudControlApi</td> <td>aws-sdk-cloudcontrolapi</td> <td>2021-09-30</td> </tr> <tr> <td>AWS Cloud Map</td> <td>Aws::ServiceDiscovery</td> <td>aws-sdk-servicediscovery</td> <td>2017-03-14</td> </tr> <tr> <td>AWS Cloud9</td> <td>Aws::Cloud9</td> <td>aws-sdk-cloud9</td> <td>2017-09-23</td> </tr> <tr> <td>AWS CloudFormation</td> <td>Aws::CloudFormation</td> <td>aws-sdk-cloudformation</td> <td>2010-05-15</td> </tr> <tr> <td>AWS CloudHSM V2</td> <td>Aws::CloudHSMV2</td> <td>aws-sdk-cloudhsmv2</td> <td>2017-04-28</td> </tr> <tr> <td>AWS CloudTrail</td> <td>Aws::CloudTrail</td> <td>aws-sdk-cloudtrail</td> <td>2013-11-01</td> </tr> <tr> <td>AWS CloudTrail Data Service</td> <td>Aws::CloudTrailData</td> <td>aws-sdk-cloudtraildata</td> <td>2021-08-11</td> </tr> <tr> <td>AWS CodeBuild</td> <td>Aws::CodeBuild</td> <td>aws-sdk-codebuild</td> <td>2016-10-06</td> </tr> <tr> <td>AWS CodeCommit</td> <td>Aws::CodeCommit</td> <td>aws-sdk-codecommit</td> <td>2015-04-13</td> </tr> <tr> <td>AWS CodeConnections</td> <td>Aws::CodeConnections</td> <td>aws-sdk-codeconnections</td> <td>2023-12-01</td> </tr> <tr> <td>AWS CodeDeploy</td> <td>Aws::CodeDeploy</td> <td>aws-sdk-codedeploy</td> <td>2014-10-06</td> </tr> <tr> <td>AWS CodePipeline</td> <td>Aws::CodePipeline</td> <td>aws-sdk-codepipeline</td> <td>2015-07-09</td> </tr> <tr> <td>AWS CodeStar Notifications</td> <td>Aws::CodeStarNotifications</td> <td>aws-sdk-codestarnotifications</td> <td>2019-10-15</td> </tr> <tr> <td>AWS CodeStar connections</td> <td>Aws::CodeStarconnections</td> <td>aws-sdk-codestarconnections</td> <td>2019-12-01</td> </tr> <tr> <td>AWS Comprehend Medical</td> <td>Aws::ComprehendMedical</td> <td>aws-sdk-comprehendmedical</td> <td>2018-10-30</td> </tr> <tr> <td>AWS Compute Optimizer</td> <td>Aws::ComputeOptimizer</td> <td>aws-sdk-computeoptimizer</td> <td>2019-11-01</td> </tr> <tr> <td>AWS Config</td> <td>Aws::ConfigService</td> <td>aws-sdk-configservice</td> <td>2014-11-12</td> </tr> <tr> <td>AWS Control Catalog</td> <td>Aws::ControlCatalog</td> <td>aws-sdk-controlcatalog</td> <td>2018-05-10</td> </tr> <tr> <td>AWS Control Tower</td> <td>Aws::ControlTower</td> <td>aws-sdk-controltower</td> <td>2018-05-10</td> </tr> <tr> <td>AWS Cost Explorer Service</td> <td>Aws::CostExplorer</td> <td>aws-sdk-costexplorer</td> <td>2017-10-25</td> </tr> <tr> <td>AWS Cost and Usage Report Service</td> <td>Aws::CostandUsageReportService</td> <td>aws-sdk-costandusagereportservice</td> <td>2017-01-06</td> </tr> <tr> <td>AWS Data Exchange</td> <td>Aws::DataExchange</td> <td>aws-sdk-dataexchange</td> <td>2017-07-25</td> </tr> <tr> <td>AWS Data Pipeline</td> <td>Aws::DataPipeline</td> <td>aws-sdk-datapipeline</td> <td>2012-10-29</td> </tr> <tr> <td>AWS DataSync</td> <td>Aws::DataSync</td> <td>aws-sdk-datasync</td> <td>2018-11-09</td> </tr> <tr> <td>AWS Database Migration Service</td> <td>Aws::DatabaseMigrationService</td> <td>aws-sdk-databasemigrationservice</td> <td>2016-01-01</td> </tr> <tr> <td>AWS Device Farm</td> <td>Aws::DeviceFarm</td> <td>aws-sdk-devicefarm</td> <td>2015-06-23</td> </tr> <tr> <td>AWS Direct Connect</td> <td>Aws::DirectConnect</td> <td>aws-sdk-directconnect</td> <td>2012-10-25</td> </tr> <tr> <td>AWS Directory Service</td> <td>Aws::DirectoryService</td> <td>aws-sdk-directoryservice</td> <td>2015-04-16</td> </tr> <tr> <td>AWS Directory Service Data</td> <td>Aws::DirectoryServiceData</td> <td>aws-sdk-directoryservicedata</td> <td>2023-05-31</td> </tr> <tr> <td>AWS EC2 Instance Connect</td> <td>Aws::EC2InstanceConnect</td> <td>aws-sdk-ec2instanceconnect</td> <td>2018-04-02</td> </tr> <tr> <td>AWS Elastic Beanstalk</td> <td>Aws::ElasticBeanstalk</td> <td>aws-sdk-elasticbeanstalk</td> <td>2010-12-01</td> </tr> <tr> <td>AWS Elemental MediaConvert</td> <td>Aws::MediaConvert</td> <td>aws-sdk-mediaconvert</td> <td>2017-08-29</td> </tr> <tr> <td>AWS Elemental MediaLive</td> <td>Aws::MediaLive</td> <td>aws-sdk-medialive</td> <td>2017-10-14</td> </tr> <tr> <td>AWS Elemental MediaPackage</td> <td>Aws::MediaPackage</td> <td>aws-sdk-mediapackage</td> <td>2017-10-12</td> </tr> <tr> <td>AWS Elemental MediaPackage VOD</td> <td>Aws::MediaPackageVod</td> <td>aws-sdk-mediapackagevod</td> <td>2018-11-07</td> </tr> <tr> <td>AWS Elemental MediaPackage v2</td> <td>Aws::MediaPackageV2</td> <td>aws-sdk-mediapackagev2</td> <td>2022-12-25</td> </tr> <tr> <td>AWS Elemental MediaStore</td> <td>Aws::MediaStore</td> <td>aws-sdk-mediastore</td> <td>2017-09-01</td> </tr> <tr> <td>AWS Elemental MediaStore Data Plane</td> <td>Aws::MediaStoreData</td> <td>aws-sdk-mediastoredata</td> <td>2017-09-01</td> </tr> <tr> <td>AWS End User Messaging Social</td> <td>Aws::SocialMessaging</td> <td>aws-sdk-socialmessaging</td> <td>2024-01-01</td> </tr> <tr> <td>AWS EntityResolution</td> <td>Aws::EntityResolution</td> <td>aws-sdk-entityresolution</td> <td>2018-05-10</td> </tr> <tr> <td>AWS Fault Injection Simulator</td> <td>Aws::FIS</td> <td>aws-sdk-fis</td> <td>2020-12-01</td> </tr> <tr> <td>AWS Free Tier</td> <td>Aws::FreeTier</td> <td>aws-sdk-freetier</td> <td>2023-09-07</td> </tr> <tr> <td>AWS Global Accelerator</td> <td>Aws::GlobalAccelerator</td> <td>aws-sdk-globalaccelerator</td> <td>2018-08-08</td> </tr> <tr> <td>AWS Glue</td> <td>Aws::Glue</td> <td>aws-sdk-glue</td> <td>2017-03-31</td> </tr> <tr> <td>AWS Glue DataBrew</td> <td>Aws::GlueDataBrew</td> <td>aws-sdk-gluedatabrew</td> <td>2017-07-25</td> </tr> <tr> <td>AWS Greengrass</td> <td>Aws::Greengrass</td> <td>aws-sdk-greengrass</td> <td>2017-06-07</td> </tr> <tr> <td>AWS Ground Station</td> <td>Aws::GroundStation</td> <td>aws-sdk-groundstation</td> <td>2019-05-23</td> </tr> <tr> <td>AWS Health APIs and Notifications</td> <td>Aws::Health</td> <td>aws-sdk-health</td> <td>2016-08-04</td> </tr> <tr> <td>AWS Health Imaging</td> <td>Aws::MedicalImaging</td> <td>aws-sdk-medicalimaging</td> <td>2023-07-19</td> </tr> <tr> <td>AWS Identity and Access Management</td> <td>Aws::IAM</td> <td>aws-sdk-iam</td> <td>2010-05-08</td> </tr> <tr> <td>AWS Import/Export</td> <td>Aws::ImportExport</td> <td>aws-sdk-importexport</td> <td>2010-06-01</td> </tr> <tr> <td>AWS Invoicing</td> <td>Aws::Invoicing</td> <td>aws-sdk-invoicing</td> <td>2024-12-01</td> </tr> <tr> <td>AWS IoT</td> <td>Aws::IoT</td> <td>aws-sdk-iot</td> <td>2015-05-28</td> </tr> <tr> <td>AWS IoT Analytics</td> <td>Aws::IoTAnalytics</td> <td>aws-sdk-iotanalytics</td> <td>2017-11-27</td> </tr> <tr> <td>AWS IoT Core Device Advisor</td> <td>Aws::IoTDeviceAdvisor</td> <td>aws-sdk-iotdeviceadvisor</td> <td>2020-09-18</td> </tr> <tr> <td>AWS IoT Data Plane</td> <td>Aws::IoTDataPlane</td> <td>aws-sdk-iotdataplane</td> <td>2015-05-28</td> </tr> <tr> <td>AWS IoT Events</td> <td>Aws::IoTEvents</td> <td>aws-sdk-iotevents</td> <td>2018-07-27</td> </tr> <tr> <td>AWS IoT Events Data</td> <td>Aws::IoTEventsData</td> <td>aws-sdk-ioteventsdata</td> <td>2018-10-23</td> </tr> <tr> <td>AWS IoT Fleet Hub</td> <td>Aws::IoTFleetHub</td> <td>aws-sdk-iotfleethub</td> <td>2020-11-03</td> </tr> <tr> <td>AWS IoT FleetWise</td> <td>Aws::IoTFleetWise</td> <td>aws-sdk-iotfleetwise</td> <td>2021-06-17</td> </tr> <tr> <td>AWS IoT Greengrass V2</td> <td>Aws::GreengrassV2</td> <td>aws-sdk-greengrassv2</td> <td>2020-11-30</td> </tr> <tr> <td>AWS IoT Jobs Data Plane</td> <td>Aws::IoTJobsDataPlane</td> <td>aws-sdk-iotjobsdataplane</td> <td>2017-09-29</td> </tr> <tr> <td>AWS IoT Secure Tunneling</td> <td>Aws::IoTSecureTunneling</td> <td>aws-sdk-iotsecuretunneling</td> <td>2018-10-05</td> </tr> <tr> <td>AWS IoT SiteWise</td> <td>Aws::IoTSiteWise</td> <td>aws-sdk-iotsitewise</td> <td>2019-12-02</td> </tr> <tr> <td>AWS IoT Things Graph</td> <td>Aws::IoTThingsGraph</td> <td>aws-sdk-iotthingsgraph</td> <td>2018-09-06</td> </tr> <tr> <td>AWS IoT TwinMaker</td> <td>Aws::IoTTwinMaker</td> <td>aws-sdk-iottwinmaker</td> <td>2021-11-29</td> </tr> <tr> <td>AWS IoT Wireless</td> <td>Aws::IoTWireless</td> <td>aws-sdk-iotwireless</td> <td>2020-11-22</td> </tr> <tr> <td>AWS Key Management Service</td> <td>Aws::KMS</td> <td>aws-sdk-kms</td> <td>2014-11-01</td> </tr> <tr> <td>AWS Lake Formation</td> <td>Aws::LakeFormation</td> <td>aws-sdk-lakeformation</td> <td>2017-03-31</td> </tr> <tr> <td>AWS Lambda</td> <td>Aws::Lambda</td> <td>aws-sdk-lambda</td> <td>2015-03-31</td> </tr> <tr> <td>AWS Launch Wizard</td> <td>Aws::LaunchWizard</td> <td>aws-sdk-launchwizard</td> <td>2018-05-10</td> </tr> <tr> <td>AWS License Manager</td> <td>Aws::LicenseManager</td> <td>aws-sdk-licensemanager</td> <td>2018-08-01</td> </tr> <tr> <td>AWS License Manager Linux Subscriptions</td> <td>Aws::LicenseManagerLinuxSubscriptions</td> <td>aws-sdk-licensemanagerlinuxsubscriptions</td> <td>2018-05-10</td> </tr> <tr> <td>AWS License Manager User Subscriptions</td> <td>Aws::LicenseManagerUserSubscriptions</td> <td>aws-sdk-licensemanagerusersubscriptions</td> <td>2018-05-10</td> </tr> <tr> <td>AWS Mainframe Modernization Application Testing</td> <td>Aws::AppTest</td> <td>aws-sdk-apptest</td> <td>2022-12-06</td> </tr> <tr> <td>AWS Marketplace Agreement Service</td> <td>Aws::MarketplaceAgreement</td> <td>aws-sdk-marketplaceagreement</td> <td>2020-03-01</td> </tr> <tr> <td>AWS Marketplace Catalog Service</td> <td>Aws::MarketplaceCatalog</td> <td>aws-sdk-marketplacecatalog</td> <td>2018-09-17</td> </tr> <tr> <td>AWS Marketplace Commerce Analytics</td> <td>Aws::MarketplaceCommerceAnalytics</td> <td>aws-sdk-marketplacecommerceanalytics</td> <td>2015-07-01</td> </tr> <tr> <td>AWS Marketplace Deployment Service</td> <td>Aws::MarketplaceDeployment</td> <td>aws-sdk-marketplacedeployment</td> <td>2023-01-25</td> </tr> <tr> <td>AWS Marketplace Entitlement Service</td> <td>Aws::MarketplaceEntitlementService</td> <td>aws-sdk-marketplaceentitlementservice</td> <td>2017-01-11</td> </tr> <tr> <td>AWS Marketplace Reporting Service</td> <td>Aws::MarketplaceReporting</td> <td>aws-sdk-marketplacereporting</td> <td>2018-05-10</td> </tr> <tr> <td>AWS MediaConnect</td> <td>Aws::MediaConnect</td> <td>aws-sdk-mediaconnect</td> <td>2018-11-14</td> </tr> <tr> <td>AWS MediaTailor</td> <td>Aws::MediaTailor</td> <td>aws-sdk-mediatailor</td> <td>2018-04-23</td> </tr> <tr> <td>AWS Migration Hub</td> <td>Aws::MigrationHub</td> <td>aws-sdk-migrationhub</td> <td>2017-05-31</td> </tr> <tr> <td>AWS Migration Hub Config</td> <td>Aws::MigrationHubConfig</td> <td>aws-sdk-migrationhubconfig</td> <td>2019-06-30</td> </tr> <tr> <td>AWS Migration Hub Orchestrator</td> <td>Aws::MigrationHubOrchestrator</td> <td>aws-sdk-migrationhuborchestrator</td> <td>2021-08-28</td> </tr> <tr> <td>AWS Migration Hub Refactor Spaces</td> <td>Aws::MigrationHubRefactorSpaces</td> <td>aws-sdk-migrationhubrefactorspaces</td> <td>2021-10-26</td> </tr> <tr> <td>AWS Network Firewall</td> <td>Aws::NetworkFirewall</td> <td>aws-sdk-networkfirewall</td> <td>2020-11-12</td> </tr> <tr> <td>AWS Network Manager</td> <td>Aws::NetworkManager</td> <td>aws-sdk-networkmanager</td> <td>2019-07-05</td> </tr> <tr> <td>AWS OpsWorks</td> <td>Aws::OpsWorks</td> <td>aws-sdk-opsworks</td> <td>2013-02-18</td> </tr> <tr> <td>AWS OpsWorks CM</td> <td>Aws::OpsWorksCM</td> <td>aws-sdk-opsworkscm</td> <td>2016-11-01</td> </tr> <tr> <td>AWS Organizations</td> <td>Aws::Organizations</td> <td>aws-sdk-organizations</td> <td>2016-11-28</td> </tr> <tr> <td>AWS Outposts</td> <td>Aws::Outposts</td> <td>aws-sdk-outposts</td> <td>2019-12-03</td> </tr> <tr> <td>AWS Panorama</td> <td>Aws::Panorama</td> <td>aws-sdk-panorama</td> <td>2019-07-24</td> </tr> <tr> <td>AWS Parallel Computing Service</td> <td>Aws::PCS</td> <td>aws-sdk-pcs</td> <td>2023-02-10</td> </tr> <tr> <td>AWS Performance Insights</td> <td>Aws::PI</td> <td>aws-sdk-pi</td> <td>2018-02-27</td> </tr> <tr> <td>AWS Price List Service</td> <td>Aws::Pricing</td> <td>aws-sdk-pricing</td> <td>2017-10-15</td> </tr> <tr> <td>AWS Private 5G</td> <td>Aws::PrivateNetworks</td> <td>aws-sdk-privatenetworks</td> <td>2021-12-03</td> </tr> <tr> <td>AWS Proton</td> <td>Aws::Proton</td> <td>aws-sdk-proton</td> <td>2020-07-20</td> </tr> <tr> <td>AWS RDS DataService</td> <td>Aws::RDSDataService</td> <td>aws-sdk-rdsdataservice</td> <td>2018-08-01</td> </tr> <tr> <td>AWS Resilience Hub</td> <td>Aws::ResilienceHub</td> <td>aws-sdk-resiliencehub</td> <td>2020-04-30</td> </tr> <tr> <td>AWS Resource Access Manager</td> <td>Aws::RAM</td> <td>aws-sdk-ram</td> <td>2018-01-04</td> </tr> <tr> <td>AWS Resource Explorer</td> <td>Aws::ResourceExplorer2</td> <td>aws-sdk-resourceexplorer2</td> <td>2022-07-28</td> </tr> <tr> <td>AWS Resource Groups</td> <td>Aws::ResourceGroups</td> <td>aws-sdk-resourcegroups</td> <td>2017-11-27</td> </tr> <tr> <td>AWS Resource Groups Tagging API</td> <td>Aws::ResourceGroupsTaggingAPI</td> <td>aws-sdk-resourcegroupstaggingapi</td> <td>2017-01-26</td> </tr> <tr> <td>AWS RoboMaker</td> <td>Aws::RoboMaker</td> <td>aws-sdk-robomaker</td> <td>2018-06-29</td> </tr> <tr> <td>AWS Route53 Recovery Control Config</td> <td>Aws::Route53RecoveryControlConfig</td> <td>aws-sdk-route53recoverycontrolconfig</td> <td>2020-11-02</td> </tr> <tr> <td>AWS Route53 Recovery Readiness</td> <td>Aws::Route53RecoveryReadiness</td> <td>aws-sdk-route53recoveryreadiness</td> <td>2019-12-02</td> </tr> <tr> <td>AWS S3 Control</td> <td>Aws::S3Control</td> <td>aws-sdk-s3control</td> <td>2018-08-20</td> </tr> <tr> <td>AWS SSO Identity Store</td> <td>Aws::IdentityStore</td> <td>aws-sdk-identitystore</td> <td>2020-06-15</td> </tr> <tr> <td>AWS SSO OIDC</td> <td>Aws::SSOOIDC</td> <td>aws-sdk-core</td> <td>2019-06-10</td> </tr> <tr> <td>AWS Savings Plans</td> <td>Aws::SavingsPlans</td> <td>aws-sdk-savingsplans</td> <td>2019-06-28</td> </tr> <tr> <td>AWS Secrets Manager</td> <td>Aws::SecretsManager</td> <td>aws-sdk-secretsmanager</td> <td>2017-10-17</td> </tr> <tr> <td>AWS Security Token Service</td> <td>Aws::STS</td> <td>aws-sdk-core</td> <td>2011-06-15</td> </tr> <tr> <td>AWS SecurityHub</td> <td>Aws::SecurityHub</td> <td>aws-sdk-securityhub</td> <td>2018-10-26</td> </tr> <tr> <td>AWS Server Migration Service</td> <td>Aws::SMS</td> <td>aws-sdk-sms</td> <td>2016-10-24</td> </tr> <tr> <td>AWS Service Catalog</td> <td>Aws::ServiceCatalog</td> <td>aws-sdk-servicecatalog</td> <td>2015-12-10</td> </tr> <tr> <td>AWS Service Catalog App Registry</td> <td>Aws::AppRegistry</td> <td>aws-sdk-appregistry</td> <td>2020-06-24</td> </tr> <tr> <td>AWS Shield</td> <td>Aws::Shield</td> <td>aws-sdk-shield</td> <td>2016-06-02</td> </tr> <tr> <td>AWS Signer</td> <td>Aws::Signer</td> <td>aws-sdk-signer</td> <td>2017-08-25</td> </tr> <tr> <td>AWS SimSpace Weaver</td> <td>Aws::SimSpaceWeaver</td> <td>aws-sdk-simspaceweaver</td> <td>2022-10-28</td> </tr> <tr> <td>AWS Single Sign-On</td> <td>Aws::SSO</td> <td>aws-sdk-core</td> <td>2019-06-10</td> </tr> <tr> <td>AWS Single Sign-On Admin</td> <td>Aws::SSOAdmin</td> <td>aws-sdk-ssoadmin</td> <td>2020-07-20</td> </tr> <tr> <td>AWS Snow Device Management</td> <td>Aws::SnowDeviceManagement</td> <td>aws-sdk-snowdevicemanagement</td> <td>2021-08-04</td> </tr> <tr> <td>AWS Step Functions</td> <td>Aws::States</td> <td>aws-sdk-states</td> <td>2016-11-23</td> </tr> <tr> <td>AWS Storage Gateway</td> <td>Aws::StorageGateway</td> <td>aws-sdk-storagegateway</td> <td>2013-06-30</td> </tr> <tr> <td>AWS Supply Chain</td> <td>Aws::SupplyChain</td> <td>aws-sdk-supplychain</td> <td>2024-01-01</td> </tr> <tr> <td>AWS Support</td> <td>Aws::Support</td> <td>aws-sdk-support</td> <td>2013-04-15</td> </tr> <tr> <td>AWS Support App</td> <td>Aws::SupportApp</td> <td>aws-sdk-supportapp</td> <td>2021-08-20</td> </tr> <tr> <td>AWS Systems Manager Incident Manager</td> <td>Aws::SSMIncidents</td> <td>aws-sdk-ssmincidents</td> <td>2018-05-10</td> </tr> <tr> <td>AWS Systems Manager Incident Manager Contacts</td> <td>Aws::SSMContacts</td> <td>aws-sdk-ssmcontacts</td> <td>2021-05-03</td> </tr> <tr> <td>AWS Systems Manager QuickSetup</td> <td>Aws::SSMQuickSetup</td> <td>aws-sdk-ssmquicksetup</td> <td>2018-05-10</td> </tr> <tr> <td>AWS Systems Manager for SAP</td> <td>Aws::SsmSap</td> <td>aws-sdk-ssmsap</td> <td>2018-05-10</td> </tr> <tr> <td>AWS Telco Network Builder</td> <td>Aws::Tnb</td> <td>aws-sdk-tnb</td> <td>2008-10-21</td> </tr> <tr> <td>AWS Transfer Family</td> <td>Aws::Transfer</td> <td>aws-sdk-transfer</td> <td>2018-11-05</td> </tr> <tr> <td>AWS User Notifications</td> <td>Aws::Notifications</td> <td>aws-sdk-notifications</td> <td>2018-05-10</td> </tr> <tr> <td>AWS User Notifications Contacts</td> <td>Aws::NotificationsContacts</td> <td>aws-sdk-notificationscontacts</td> <td>2018-05-10</td> </tr> <tr> <td>AWS WAF</td> <td>Aws::WAF</td> <td>aws-sdk-waf</td> <td>2015-08-24</td> </tr> <tr> <td>AWS WAF Regional</td> <td>Aws::WAFRegional</td> <td>aws-sdk-wafregional</td> <td>2016-11-28</td> </tr> <tr> <td>AWS WAFV2</td> <td>Aws::WAFV2</td> <td>aws-sdk-wafv2</td> <td>2019-07-29</td> </tr> <tr> <td>AWS Well-Architected Tool</td> <td>Aws::WellArchitected</td> <td>aws-sdk-wellarchitected</td> <td>2020-03-31</td> </tr> <tr> <td>AWS X-Ray</td> <td>Aws::XRay</td> <td>aws-sdk-xray</td> <td>2016-04-12</td> </tr> <tr> <td>AWS re:Post Private</td> <td>Aws::Repostspace</td> <td>aws-sdk-repostspace</td> <td>2022-05-13</td> </tr> <tr> <td>AWSBillingConductor</td> <td>Aws::BillingConductor</td> <td>aws-sdk-billingconductor</td> <td>2021-07-30</td> </tr> <tr> <td>AWSDeadlineCloud</td> <td>Aws::Deadline</td> <td>aws-sdk-deadline</td> <td>2023-10-12</td> </tr> <tr> <td>AWSKendraFrontendService</td> <td>Aws::Kendra</td> <td>aws-sdk-kendra</td> <td>2019-02-03</td> </tr> <tr> <td>AWSMainframeModernization</td> <td>Aws::MainframeModernization</td> <td>aws-sdk-mainframemodernization</td> <td>2021-04-28</td> </tr> <tr> <td>AWSMarketplace Metering</td> <td>Aws::MarketplaceMetering</td> <td>aws-sdk-marketplacemetering</td> <td>2016-01-14</td> </tr> <tr> <td>AWSServerlessApplicationRepository</td> <td>Aws::ServerlessApplicationRepository</td> <td>aws-sdk-serverlessapplicationrepository</td> <td>2017-09-08</td> </tr> <tr> <td>Access Analyzer</td> <td>Aws::AccessAnalyzer</td> <td>aws-sdk-accessanalyzer</td> <td>2019-11-01</td> </tr> <tr> <td>Agents for Amazon Bedrock</td> <td>Aws::BedrockAgent</td> <td>aws-sdk-bedrockagent</td> <td>2023-06-05</td> </tr> <tr> <td>Agents for Amazon Bedrock Runtime</td> <td>Aws::BedrockAgentRuntime</td> <td>aws-sdk-bedrockagentruntime</td> <td>2023-07-26</td> </tr> <tr> <td>Amazon API Gateway</td> <td>Aws::APIGateway</td> <td>aws-sdk-apigateway</td> <td>2015-07-09</td> </tr> <tr> <td>Amazon AppConfig</td> <td>Aws::AppConfig</td> <td>aws-sdk-appconfig</td> <td>2019-10-09</td> </tr> <tr> <td>Amazon AppIntegrations Service</td> <td>Aws::AppIntegrationsService</td> <td>aws-sdk-appintegrationsservice</td> <td>2020-07-29</td> </tr> <tr> <td>Amazon AppStream</td> <td>Aws::AppStream</td> <td>aws-sdk-appstream</td> <td>2016-12-01</td> </tr> <tr> <td>Amazon Appflow</td> <td>Aws::Appflow</td> <td>aws-sdk-appflow</td> <td>2020-08-23</td> </tr> <tr> <td>Amazon Athena</td> <td>Aws::Athena</td> <td>aws-sdk-athena</td> <td>2017-05-18</td> </tr> <tr> <td>Amazon Augmented AI Runtime</td> <td>Aws::AugmentedAIRuntime</td> <td>aws-sdk-augmentedairuntime</td> <td>2019-11-07</td> </tr> <tr> <td>Amazon Aurora DSQL</td> <td>Aws::DSQL</td> <td>aws-sdk-dsql</td> <td>2018-05-10</td> </tr> <tr> <td>Amazon Bedrock</td> <td>Aws::Bedrock</td> <td>aws-sdk-bedrock</td> <td>2023-04-20</td> </tr> <tr> <td>Amazon Bedrock Runtime</td> <td>Aws::BedrockRuntime</td> <td>aws-sdk-bedrockruntime</td> <td>2023-09-30</td> </tr> <tr> <td>Amazon Chime</td> <td>Aws::Chime</td> <td>aws-sdk-chime</td> <td>2018-05-01</td> </tr> <tr> <td>Amazon Chime SDK Identity</td> <td>Aws::ChimeSDKIdentity</td> <td>aws-sdk-chimesdkidentity</td> <td>2021-04-20</td> </tr> <tr> <td>Amazon Chime SDK Media Pipelines</td> <td>Aws::ChimeSDKMediaPipelines</td> <td>aws-sdk-chimesdkmediapipelines</td> <td>2021-07-15</td> </tr> <tr> <td>Amazon Chime SDK Meetings</td> <td>Aws::ChimeSDKMeetings</td> <td>aws-sdk-chimesdkmeetings</td> <td>2021-07-15</td> </tr> <tr> <td>Amazon Chime SDK Messaging</td> <td>Aws::ChimeSDKMessaging</td> <td>aws-sdk-chimesdkmessaging</td> <td>2021-05-15</td> </tr> <tr> <td>Amazon Chime SDK Voice</td> <td>Aws::ChimeSDKVoice</td> <td>aws-sdk-chimesdkvoice</td> <td>2022-08-03</td> </tr> <tr> <td>Amazon CloudDirectory</td> <td>Aws::CloudDirectory</td> <td>aws-sdk-clouddirectory</td> <td>2017-01-11</td> </tr> <tr> <td>Amazon CloudFront</td> <td>Aws::CloudFront</td> <td>aws-sdk-cloudfront</td> <td>2020-05-31</td> </tr> <tr> <td>Amazon CloudFront KeyValueStore</td> <td>Aws::CloudFrontKeyValueStore</td> <td>aws-sdk-cloudfrontkeyvaluestore</td> <td>2022-07-26</td> </tr> <tr> <td>Amazon CloudHSM</td> <td>Aws::CloudHSM</td> <td>aws-sdk-cloudhsm</td> <td>2014-05-30</td> </tr> <tr> <td>Amazon CloudSearch</td> <td>Aws::CloudSearch</td> <td>aws-sdk-cloudsearch</td> <td>2013-01-01</td> </tr> <tr> <td>Amazon CloudSearch Domain</td> <td>Aws::CloudSearchDomain</td> <td>aws-sdk-cloudsearchdomain</td> <td>2013-01-01</td> </tr> <tr> <td>Amazon CloudWatch</td> <td>Aws::CloudWatch</td> <td>aws-sdk-cloudwatch</td> <td>2010-08-01</td> </tr> <tr> <td>Amazon CloudWatch Application Insights</td> <td>Aws::ApplicationInsights</td> <td>aws-sdk-applicationinsights</td> <td>2018-11-25</td> </tr> <tr> <td>Amazon CloudWatch Application Signals</td> <td>Aws::ApplicationSignals</td> <td>aws-sdk-applicationsignals</td> <td>2024-04-15</td> </tr> <tr> <td>Amazon CloudWatch Events</td> <td>Aws::CloudWatchEvents</td> <td>aws-sdk-cloudwatchevents</td> <td>2015-10-07</td> </tr> <tr> <td>Amazon CloudWatch Evidently</td> <td>Aws::CloudWatchEvidently</td> <td>aws-sdk-cloudwatchevidently</td> <td>2021-02-01</td> </tr> <tr> <td>Amazon CloudWatch Internet Monitor</td> <td>Aws::InternetMonitor</td> <td>aws-sdk-internetmonitor</td> <td>2021-06-03</td> </tr> <tr> <td>Amazon CloudWatch Logs</td> <td>Aws::CloudWatchLogs</td> <td>aws-sdk-cloudwatchlogs</td> <td>2014-03-28</td> </tr> <tr> <td>Amazon CloudWatch Network Monitor</td> <td>Aws::NetworkMonitor</td> <td>aws-sdk-networkmonitor</td> <td>2023-08-01</td> </tr> <tr> <td>Amazon CodeCatalyst</td> <td>Aws::CodeCatalyst</td> <td>aws-sdk-codecatalyst</td> <td>2022-09-28</td> </tr> <tr> <td>Amazon CodeGuru Profiler</td> <td>Aws::CodeGuruProfiler</td> <td>aws-sdk-codeguruprofiler</td> <td>2019-07-18</td> </tr> <tr> <td>Amazon CodeGuru Reviewer</td> <td>Aws::CodeGuruReviewer</td> <td>aws-sdk-codegurureviewer</td> <td>2019-09-19</td> </tr> <tr> <td>Amazon CodeGuru Security</td> <td>Aws::CodeGuruSecurity</td> <td>aws-sdk-codegurusecurity</td> <td>2018-05-10</td> </tr> <tr> <td>Amazon Cognito Identity</td> <td>Aws::CognitoIdentity</td> <td>aws-sdk-cognitoidentity</td> <td>2014-06-30</td> </tr> <tr> <td>Amazon Cognito Identity Provider</td> <td>Aws::CognitoIdentityProvider</td> <td>aws-sdk-cognitoidentityprovider</td> <td>2016-04-18</td> </tr> <tr> <td>Amazon Cognito Sync</td> <td>Aws::CognitoSync</td> <td>aws-sdk-cognitosync</td> <td>2014-06-30</td> </tr> <tr> <td>Amazon Comprehend</td> <td>Aws::Comprehend</td> <td>aws-sdk-comprehend</td> <td>2017-11-27</td> </tr> <tr> <td>Amazon Connect Cases</td> <td>Aws::ConnectCases</td> <td>aws-sdk-connectcases</td> <td>2022-10-03</td> </tr> <tr> <td>Amazon Connect Contact Lens</td> <td>Aws::ConnectContactLens</td> <td>aws-sdk-connectcontactlens</td> <td>2020-08-21</td> </tr> <tr> <td>Amazon Connect Customer Profiles</td> <td>Aws::CustomerProfiles</td> <td>aws-sdk-customerprofiles</td> <td>2020-08-15</td> </tr> <tr> <td>Amazon Connect Participant Service</td> <td>Aws::ConnectParticipant</td> <td>aws-sdk-connectparticipant</td> <td>2018-09-07</td> </tr> <tr> <td>Amazon Connect Service</td> <td>Aws::Connect</td> <td>aws-sdk-connect</td> <td>2017-08-08</td> </tr> <tr> <td>Amazon Connect Wisdom Service</td> <td>Aws::ConnectWisdomService</td> <td>aws-sdk-connectwisdomservice</td> <td>2020-10-19</td> </tr> <tr> <td>Amazon Data Lifecycle Manager</td> <td>Aws::DLM</td> <td>aws-sdk-dlm</td> <td>2018-01-12</td> </tr> <tr> <td>Amazon DataZone</td> <td>Aws::DataZone</td> <td>aws-sdk-datazone</td> <td>2018-05-10</td> </tr> <tr> <td>Amazon Detective</td> <td>Aws::Detective</td> <td>aws-sdk-detective</td> <td>2018-10-26</td> </tr> <tr> <td>Amazon DevOps Guru</td> <td>Aws::DevOpsGuru</td> <td>aws-sdk-devopsguru</td> <td>2020-12-01</td> </tr> <tr> <td>Amazon DocumentDB Elastic Clusters</td> <td>Aws::DocDBElastic</td> <td>aws-sdk-docdbelastic</td> <td>2022-11-28</td> </tr> <tr> <td>Amazon DocumentDB with MongoDB compatibility</td> <td>Aws::DocDB</td> <td>aws-sdk-docdb</td> <td>2014-10-31</td> </tr> <tr> <td>Amazon DynamoDB</td> <td>Aws::DynamoDB</td> <td>aws-sdk-dynamodb</td> <td>2012-08-10</td> </tr> <tr> <td>Amazon DynamoDB Accelerator (DAX)</td> <td>Aws::DAX</td> <td>aws-sdk-dax</td> <td>2017-04-19</td> </tr> <tr> <td>Amazon DynamoDB Streams</td> <td>Aws::DynamoDBStreams</td> <td>aws-sdk-dynamodbstreams</td> <td>2012-08-10</td> </tr> <tr> <td>Amazon EC2 Container Service</td> <td>Aws::ECS</td> <td>aws-sdk-ecs</td> <td>2014-11-13</td> </tr> <tr> <td>Amazon EKS Auth</td> <td>Aws::EKSAuth</td> <td>aws-sdk-eksauth</td> <td>2023-11-26</td> </tr> <tr> <td>Amazon EMR</td> <td>Aws::EMR</td> <td>aws-sdk-emr</td> <td>2009-03-31</td> </tr> <tr> <td>Amazon EMR Containers</td> <td>Aws::EMRContainers</td> <td>aws-sdk-emrcontainers</td> <td>2020-10-01</td> </tr> <tr> <td>Amazon ElastiCache</td> <td>Aws::ElastiCache</td> <td>aws-sdk-elasticache</td> <td>2015-02-02</td> </tr> <tr> <td>Amazon Elastic Block Store</td> <td>Aws::EBS</td> <td>aws-sdk-ebs</td> <td>2019-11-02</td> </tr> <tr> <td>Amazon Elastic Compute Cloud</td> <td>Aws::EC2</td> <td>aws-sdk-ec2</td> <td>2016-11-15</td> </tr> <tr> <td>Amazon Elastic Container Registry</td> <td>Aws::ECR</td> <td>aws-sdk-ecr</td> <td>2015-09-21</td> </tr> <tr> <td>Amazon Elastic Container Registry Public</td> <td>Aws::ECRPublic</td> <td>aws-sdk-ecrpublic</td> <td>2020-10-30</td> </tr> <tr> <td>Amazon Elastic File System</td> <td>Aws::EFS</td> <td>aws-sdk-efs</td> <td>2015-02-01</td> </tr> <tr> <td>Amazon Elastic Kubernetes Service</td> <td>Aws::EKS</td> <td>aws-sdk-eks</td> <td>2017-11-01</td> </tr> <tr> <td>Amazon Elastic Transcoder</td> <td>Aws::ElasticTranscoder</td> <td>aws-sdk-elastictranscoder</td> <td>2012-09-25</td> </tr> <tr> <td>Amazon Elasticsearch Service</td> <td>Aws::ElasticsearchService</td> <td>aws-sdk-elasticsearchservice</td> <td>2015-01-01</td> </tr> <tr> <td>Amazon EventBridge</td> <td>Aws::EventBridge</td> <td>aws-sdk-eventbridge</td> <td>2015-10-07</td> </tr> <tr> <td>Amazon EventBridge Pipes</td> <td>Aws::Pipes</td> <td>aws-sdk-pipes</td> <td>2015-10-07</td> </tr> <tr> <td>Amazon EventBridge Scheduler</td> <td>Aws::Scheduler</td> <td>aws-sdk-scheduler</td> <td>2021-06-30</td> </tr> <tr> <td>Amazon FSx</td> <td>Aws::FSx</td> <td>aws-sdk-fsx</td> <td>2018-03-01</td> </tr> <tr> <td>Amazon Forecast Query Service</td> <td>Aws::ForecastQueryService</td> <td>aws-sdk-forecastqueryservice</td> <td>2018-06-26</td> </tr> <tr> <td>Amazon Forecast Service</td> <td>Aws::ForecastService</td> <td>aws-sdk-forecastservice</td> <td>2018-06-26</td> </tr> <tr> <td>Amazon Fraud Detector</td> <td>Aws::FraudDetector</td> <td>aws-sdk-frauddetector</td> <td>2019-11-15</td> </tr> <tr> <td>Amazon GameLift</td> <td>Aws::GameLift</td> <td>aws-sdk-gamelift</td> <td>2015-10-01</td> </tr> <tr> <td>Amazon GameLift Streams</td> <td>Aws::GameLiftStreams</td> <td>aws-sdk-gameliftstreams</td> <td>2018-05-10</td> </tr> <tr> <td>Amazon Glacier</td> <td>Aws::Glacier</td> <td>aws-sdk-glacier</td> <td>2012-06-01</td> </tr> <tr> <td>Amazon GuardDuty</td> <td>Aws::GuardDuty</td> <td>aws-sdk-guardduty</td> <td>2017-11-28</td> </tr> <tr> <td>Amazon HealthLake</td> <td>Aws::HealthLake</td> <td>aws-sdk-healthlake</td> <td>2017-07-01</td> </tr> <tr> <td>Amazon Import/Export Snowball</td> <td>Aws::Snowball</td> <td>aws-sdk-snowball</td> <td>2016-06-30</td> </tr> <tr> <td>Amazon Inspector</td> <td>Aws::Inspector</td> <td>aws-sdk-inspector</td> <td>2016-02-16</td> </tr> <tr> <td>Amazon Interactive Video Service</td> <td>Aws::IVS</td> <td>aws-sdk-ivs</td> <td>2020-07-14</td> </tr> <tr> <td>Amazon Interactive Video Service Chat</td> <td>Aws::Ivschat</td> <td>aws-sdk-ivschat</td> <td>2020-07-14</td> </tr> <tr> <td>Amazon Interactive Video Service RealTime</td> <td>Aws::IVSRealTime</td> <td>aws-sdk-ivsrealtime</td> <td>2020-07-14</td> </tr> <tr> <td>Amazon Kendra Intelligent Ranking</td> <td>Aws::KendraRanking</td> <td>aws-sdk-kendraranking</td> <td>2022-10-19</td> </tr> <tr> <td>Amazon Keyspaces</td> <td>Aws::Keyspaces</td> <td>aws-sdk-keyspaces</td> <td>2022-02-10</td> </tr> <tr> <td>Amazon Kinesis</td> <td>Aws::Kinesis</td> <td>aws-sdk-kinesis</td> <td>2013-12-02</td> </tr> <tr> <td>Amazon Kinesis Analytics</td> <td>Aws::KinesisAnalytics</td> <td>aws-sdk-kinesisanalytics</td> <td>2015-08-14</td> </tr> <tr> <td>Amazon Kinesis Analytics</td> <td>Aws::KinesisAnalyticsV2</td> <td>aws-sdk-kinesisanalyticsv2</td> <td>2018-05-23</td> </tr> <tr> <td>Amazon Kinesis Firehose</td> <td>Aws::Firehose</td> <td>aws-sdk-firehose</td> <td>2015-08-04</td> </tr> <tr> <td>Amazon Kinesis Video Signaling Channels</td> <td>Aws::KinesisVideoSignalingChannels</td> <td>aws-sdk-kinesisvideosignalingchannels</td> <td>2019-12-04</td> </tr> <tr> <td>Amazon Kinesis Video Streams</td> <td>Aws::KinesisVideo</td> <td>aws-sdk-kinesisvideo</td> <td>2017-09-30</td> </tr> <tr> <td>Amazon Kinesis Video Streams Archived Media</td> <td>Aws::KinesisVideoArchivedMedia</td> <td>aws-sdk-kinesisvideoarchivedmedia</td> <td>2017-09-30</td> </tr> <tr> <td>Amazon Kinesis Video Streams Media</td> <td>Aws::KinesisVideoMedia</td> <td>aws-sdk-kinesisvideomedia</td> <td>2017-09-30</td> </tr> <tr> <td>Amazon Kinesis Video WebRTC Storage</td> <td>Aws::KinesisVideoWebRTCStorage</td> <td>aws-sdk-kinesisvideowebrtcstorage</td> <td>2018-05-10</td> </tr> <tr> <td>Amazon Lex Model Building Service</td> <td>Aws::LexModelBuildingService</td> <td>aws-sdk-lexmodelbuildingservice</td> <td>2017-04-19</td> </tr> <tr> <td>Amazon Lex Model Building V2</td> <td>Aws::LexModelsV2</td> <td>aws-sdk-lexmodelsv2</td> <td>2020-08-07</td> </tr> <tr> <td>Amazon Lex Runtime Service</td> <td>Aws::Lex</td> <td>aws-sdk-lex</td> <td>2016-11-28</td> </tr> <tr> <td>Amazon Lex Runtime V2</td> <td>Aws::LexRuntimeV2</td> <td>aws-sdk-lexruntimev2</td> <td>2020-08-07</td> </tr> <tr> <td>Amazon Lightsail</td> <td>Aws::Lightsail</td> <td>aws-sdk-lightsail</td> <td>2016-11-28</td> </tr> <tr> <td>Amazon Location Service</td> <td>Aws::LocationService</td> <td>aws-sdk-locationservice</td> <td>2020-11-19</td> </tr> <tr> <td>Amazon Location Service Maps V2</td> <td>Aws::GeoMaps</td> <td>aws-sdk-geomaps</td> <td>2020-11-19</td> </tr> <tr> <td>Amazon Location Service Places V2</td> <td>Aws::GeoPlaces</td> <td>aws-sdk-geoplaces</td> <td>2020-11-19</td> </tr> <tr> <td>Amazon Location Service Routes V2</td> <td>Aws::GeoRoutes</td> <td>aws-sdk-georoutes</td> <td>2020-11-19</td> </tr> <tr> <td>Amazon Lookout for Equipment</td> <td>Aws::LookoutEquipment</td> <td>aws-sdk-lookoutequipment</td> <td>2020-12-15</td> </tr> <tr> <td>Amazon Lookout for Metrics</td> <td>Aws::LookoutMetrics</td> <td>aws-sdk-lookoutmetrics</td> <td>2017-07-25</td> </tr> <tr> <td>Amazon Lookout for Vision</td> <td>Aws::LookoutforVision</td> <td>aws-sdk-lookoutforvision</td> <td>2020-11-20</td> </tr> <tr> <td>Amazon Machine Learning</td> <td>Aws::MachineLearning</td> <td>aws-sdk-machinelearning</td> <td>2014-12-12</td> </tr> <tr> <td>Amazon Macie 2</td> <td>Aws::Macie2</td> <td>aws-sdk-macie2</td> <td>2020-01-01</td> </tr> <tr> <td>Amazon Managed Blockchain</td> <td>Aws::ManagedBlockchain</td> <td>aws-sdk-managedblockchain</td> <td>2018-09-24</td> </tr> <tr> <td>Amazon Managed Blockchain Query</td> <td>Aws::ManagedBlockchainQuery</td> <td>aws-sdk-managedblockchainquery</td> <td>2023-05-04</td> </tr> <tr> <td>Amazon Managed Grafana</td> <td>Aws::ManagedGrafana</td> <td>aws-sdk-managedgrafana</td> <td>2020-08-18</td> </tr> <tr> <td>Amazon Mechanical Turk</td> <td>Aws::MTurk</td> <td>aws-sdk-mturk</td> <td>2017-01-17</td> </tr> <tr> <td>Amazon MemoryDB</td> <td>Aws::MemoryDB</td> <td>aws-sdk-memorydb</td> <td>2021-01-01</td> </tr> <tr> <td>Amazon Neptune</td> <td>Aws::Neptune</td> <td>aws-sdk-neptune</td> <td>2014-10-31</td> </tr> <tr> <td>Amazon Neptune Graph</td> <td>Aws::NeptuneGraph</td> <td>aws-sdk-neptunegraph</td> <td>2023-11-29</td> </tr> <tr> <td>Amazon NeptuneData</td> <td>Aws::Neptunedata</td> <td>aws-sdk-neptunedata</td> <td>2023-08-01</td> </tr> <tr> <td>Amazon Omics</td> <td>Aws::Omics</td> <td>aws-sdk-omics</td> <td>2022-11-28</td> </tr> <tr> <td>Amazon OpenSearch Ingestion</td> <td>Aws::OSIS</td> <td>aws-sdk-osis</td> <td>2022-01-01</td> </tr> <tr> <td>Amazon OpenSearch Service</td> <td>Aws::OpenSearchService</td> <td>aws-sdk-opensearchservice</td> <td>2021-01-01</td> </tr> <tr> <td>Amazon Personalize</td> <td>Aws::Personalize</td> <td>aws-sdk-personalize</td> <td>2018-05-22</td> </tr> <tr> <td>Amazon Personalize Events</td> <td>Aws::PersonalizeEvents</td> <td>aws-sdk-personalizeevents</td> <td>2018-03-22</td> </tr> <tr> <td>Amazon Personalize Runtime</td> <td>Aws::PersonalizeRuntime</td> <td>aws-sdk-personalizeruntime</td> <td>2018-05-22</td> </tr> <tr> <td>Amazon Pinpoint</td> <td>Aws::Pinpoint</td> <td>aws-sdk-pinpoint</td> <td>2016-12-01</td> </tr> <tr> <td>Amazon Pinpoint Email Service</td> <td>Aws::PinpointEmail</td> <td>aws-sdk-pinpointemail</td> <td>2018-07-26</td> </tr> <tr> <td>Amazon Pinpoint SMS Voice V2</td> <td>Aws::PinpointSMSVoiceV2</td> <td>aws-sdk-pinpointsmsvoicev2</td> <td>2022-03-31</td> </tr> <tr> <td>Amazon Pinpoint SMS and Voice Service</td> <td>Aws::PinpointSMSVoice</td> <td>aws-sdk-pinpointsmsvoice</td> <td>2018-09-05</td> </tr> <tr> <td>Amazon Polly</td> <td>Aws::Polly</td> <td>aws-sdk-polly</td> <td>2016-06-10</td> </tr> <tr> <td>Amazon Prometheus Service</td> <td>Aws::PrometheusService</td> <td>aws-sdk-prometheusservice</td> <td>2020-08-01</td> </tr> <tr> <td>Amazon Q Connect</td> <td>Aws::QConnect</td> <td>aws-sdk-qconnect</td> <td>2020-10-19</td> </tr> <tr> <td>Amazon QLDB</td> <td>Aws::QLDB</td> <td>aws-sdk-qldb</td> <td>2019-01-02</td> </tr> <tr> <td>Amazon QLDB Session</td> <td>Aws::QLDBSession</td> <td>aws-sdk-qldbsession</td> <td>2019-07-11</td> </tr> <tr> <td>Amazon QuickSight</td> <td>Aws::QuickSight</td> <td>aws-sdk-quicksight</td> <td>2018-04-01</td> </tr> <tr> <td>Amazon Recycle Bin</td> <td>Aws::RecycleBin</td> <td>aws-sdk-recyclebin</td> <td>2021-06-15</td> </tr> <tr> <td>Amazon Redshift</td> <td>Aws::Redshift</td> <td>aws-sdk-redshift</td> <td>2012-12-01</td> </tr> <tr> <td>Amazon Rekognition</td> <td>Aws::Rekognition</td> <td>aws-sdk-rekognition</td> <td>2016-06-27</td> </tr> <tr> <td>Amazon Relational Database Service</td> <td>Aws::RDS</td> <td>aws-sdk-rds</td> <td>2014-10-31</td> </tr> <tr> <td>Amazon Route 53</td> <td>Aws::Route53</td> <td>aws-sdk-route53</td> <td>2013-04-01</td> </tr> <tr> <td>Amazon Route 53 Domains</td> <td>Aws::Route53Domains</td> <td>aws-sdk-route53domains</td> <td>2014-05-15</td> </tr> <tr> <td>Amazon Route 53 Resolver</td> <td>Aws::Route53Resolver</td> <td>aws-sdk-route53resolver</td> <td>2018-04-01</td> </tr> <tr> <td>Amazon S3 Tables</td> <td>Aws::S3Tables</td> <td>aws-sdk-s3tables</td> <td>2018-05-10</td> </tr> <tr> <td>Amazon S3 on Outposts</td> <td>Aws::S3Outposts</td> <td>aws-sdk-s3outposts</td> <td>2017-07-25</td> </tr> <tr> <td>Amazon SageMaker Feature Store Runtime</td> <td>Aws::SageMakerFeatureStoreRuntime</td> <td>aws-sdk-sagemakerfeaturestoreruntime</td> <td>2020-07-01</td> </tr> <tr> <td>Amazon SageMaker Metrics Service</td> <td>Aws::SageMakerMetrics</td> <td>aws-sdk-sagemakermetrics</td> <td>2022-09-30</td> </tr> <tr> <td>Amazon SageMaker Runtime</td> <td>Aws::SageMakerRuntime</td> <td>aws-sdk-sagemakerruntime</td> <td>2017-05-13</td> </tr> <tr> <td>Amazon SageMaker Service</td> <td>Aws::SageMaker</td> <td>aws-sdk-sagemaker</td> <td>2017-07-24</td> </tr> <tr> <td>Amazon SageMaker geospatial capabilities</td> <td>Aws::SageMakerGeospatial</td> <td>aws-sdk-sagemakergeospatial</td> <td>2020-05-27</td> </tr> <tr> <td>Amazon Sagemaker Edge Manager</td> <td>Aws::SagemakerEdgeManager</td> <td>aws-sdk-sagemakeredgemanager</td> <td>2020-09-23</td> </tr> <tr> <td>Amazon Security Lake</td> <td>Aws::SecurityLake</td> <td>aws-sdk-securitylake</td> <td>2018-05-10</td> </tr> <tr> <td>Amazon Simple Email Service</td> <td>Aws::SES</td> <td>aws-sdk-ses</td> <td>2010-12-01</td> </tr> <tr> <td>Amazon Simple Email Service</td> <td>Aws::SESV2</td> <td>aws-sdk-sesv2</td> <td>2019-09-27</td> </tr> <tr> <td>Amazon Simple Notification Service</td> <td>Aws::SNS</td> <td>aws-sdk-sns</td> <td>2010-03-31</td> </tr> <tr> <td>Amazon Simple Queue Service</td> <td>Aws::SQS</td> <td>aws-sdk-sqs</td> <td>2012-11-05</td> </tr> <tr> <td>Amazon Simple Storage Service</td> <td>Aws::S3</td> <td>aws-sdk-s3</td> <td>2006-03-01</td> </tr> <tr> <td>Amazon Simple Systems Manager (SSM)</td> <td>Aws::SSM</td> <td>aws-sdk-ssm</td> <td>2014-11-06</td> </tr> <tr> <td>Amazon Simple Workflow Service</td> <td>Aws::SWF</td> <td>aws-sdk-swf</td> <td>2012-01-25</td> </tr> <tr> <td>Amazon SimpleDB</td> <td>Aws::SimpleDB</td> <td>aws-sdk-simpledb</td> <td>2009-04-15</td> </tr> <tr> <td>Amazon Textract</td> <td>Aws::Textract</td> <td>aws-sdk-textract</td> <td>2018-06-27</td> </tr> <tr> <td>Amazon Timestream Query</td> <td>Aws::TimestreamQuery</td> <td>aws-sdk-timestreamquery</td> <td>2018-11-01</td> </tr> <tr> <td>Amazon Timestream Write</td> <td>Aws::TimestreamWrite</td> <td>aws-sdk-timestreamwrite</td> <td>2018-11-01</td> </tr> <tr> <td>Amazon Transcribe Service</td> <td>Aws::TranscribeService</td> <td>aws-sdk-transcribeservice</td> <td>2017-10-26</td> </tr> <tr> <td>Amazon Transcribe Streaming Service</td> <td>Aws::TranscribeStreamingService</td> <td>aws-sdk-transcribestreamingservice</td> <td>2017-10-26</td> </tr> <tr> <td>Amazon Translate</td> <td>Aws::Translate</td> <td>aws-sdk-translate</td> <td>2017-07-01</td> </tr> <tr> <td>Amazon VPC Lattice</td> <td>Aws::VPCLattice</td> <td>aws-sdk-vpclattice</td> <td>2022-11-30</td> </tr> <tr> <td>Amazon Verified Permissions</td> <td>Aws::VerifiedPermissions</td> <td>aws-sdk-verifiedpermissions</td> <td>2021-12-01</td> </tr> <tr> <td>Amazon Voice ID</td> <td>Aws::VoiceID</td> <td>aws-sdk-voiceid</td> <td>2021-09-27</td> </tr> <tr> <td>Amazon WorkDocs</td> <td>Aws::WorkDocs</td> <td>aws-sdk-workdocs</td> <td>2016-05-01</td> </tr> <tr> <td>Amazon WorkMail</td> <td>Aws::WorkMail</td> <td>aws-sdk-workmail</td> <td>2017-10-01</td> </tr> <tr> <td>Amazon WorkMail Message Flow</td> <td>Aws::WorkMailMessageFlow</td> <td>aws-sdk-workmailmessageflow</td> <td>2019-05-01</td> </tr> <tr> <td>Amazon WorkSpaces</td> <td>Aws::WorkSpaces</td> <td>aws-sdk-workspaces</td> <td>2015-04-08</td> </tr> <tr> <td>Amazon WorkSpaces Thin Client</td> <td>Aws::WorkSpacesThinClient</td> <td>aws-sdk-workspacesthinclient</td> <td>2023-08-22</td> </tr> <tr> <td>Amazon WorkSpaces Web</td> <td>Aws::WorkSpacesWeb</td> <td>aws-sdk-workspacesweb</td> <td>2020-07-08</td> </tr> <tr> <td>AmazonApiGatewayManagementApi</td> <td>Aws::ApiGatewayManagementApi</td> <td>aws-sdk-apigatewaymanagementapi</td> <td>2018-11-29</td> </tr> <tr> <td>AmazonApiGatewayV2</td> <td>Aws::ApiGatewayV2</td> <td>aws-sdk-apigatewayv2</td> <td>2018-11-29</td> </tr> <tr> <td>AmazonConnectCampaignService</td> <td>Aws::ConnectCampaignService</td> <td>aws-sdk-connectcampaignservice</td> <td>2021-01-30</td> </tr> <tr> <td>AmazonConnectCampaignServiceV2</td> <td>Aws::ConnectCampaignsV2</td> <td>aws-sdk-connectcampaignsv2</td> <td>2024-04-23</td> </tr> <tr> <td>AmazonMQ</td> <td>Aws::MQ</td> <td>aws-sdk-mq</td> <td>2017-11-27</td> </tr> <tr> <td>AmazonMWAA</td> <td>Aws::MWAA</td> <td>aws-sdk-mwaa</td> <td>2020-07-01</td> </tr> <tr> <td>AmplifyBackend</td> <td>Aws::AmplifyBackend</td> <td>aws-sdk-amplifybackend</td> <td>2020-08-11</td> </tr> <tr> <td>AppFabric</td> <td>Aws::AppFabric</td> <td>aws-sdk-appfabric</td> <td>2023-05-19</td> </tr> <tr> <td>Application Auto Scaling</td> <td>Aws::ApplicationAutoScaling</td> <td>aws-sdk-applicationautoscaling</td> <td>2016-02-06</td> </tr> <tr> <td>Application Migration Service</td> <td>Aws::Mgn</td> <td>aws-sdk-mgn</td> <td>2020-02-26</td> </tr> <tr> <td>Auto Scaling</td> <td>Aws::AutoScaling</td> <td>aws-sdk-autoscaling</td> <td>2011-01-01</td> </tr> <tr> <td>Braket</td> <td>Aws::Braket</td> <td>aws-sdk-braket</td> <td>2019-09-01</td> </tr> <tr> <td>CloudWatch Observability Access Manager</td> <td>Aws::OAM</td> <td>aws-sdk-oam</td> <td>2022-06-10</td> </tr> <tr> <td>CloudWatch Observability Admin Service</td> <td>Aws::ObservabilityAdmin</td> <td>aws-sdk-observabilityadmin</td> <td>2018-05-10</td> </tr> <tr> <td>CloudWatch RUM</td> <td>Aws::CloudWatchRUM</td> <td>aws-sdk-cloudwatchrum</td> <td>2018-05-10</td> </tr> <tr> <td>CodeArtifact</td> <td>Aws::CodeArtifact</td> <td>aws-sdk-codeartifact</td> <td>2018-09-22</td> </tr> <tr> <td>Cost Optimization Hub</td> <td>Aws::CostOptimizationHub</td> <td>aws-sdk-costoptimizationhub</td> <td>2022-07-26</td> </tr> <tr> <td>Data Automation for Amazon Bedrock</td> <td>Aws::BedrockDataAutomation</td> <td>aws-sdk-bedrockdataautomation</td> <td>2023-07-26</td> </tr> <tr> <td>EC2 Image Builder</td> <td>Aws::Imagebuilder</td> <td>aws-sdk-imagebuilder</td> <td>2019-12-02</td> </tr> <tr> <td>EMR Serverless</td> <td>Aws::EMRServerless</td> <td>aws-sdk-emrserverless</td> <td>2021-07-13</td> </tr> <tr> <td>Elastic Disaster Recovery Service</td> <td>Aws::Drs</td> <td>aws-sdk-drs</td> <td>2020-02-26</td> </tr> <tr> <td>Elastic Load Balancing</td> <td>Aws::ElasticLoadBalancing</td> <td>aws-sdk-elasticloadbalancing</td> <td>2012-06-01</td> </tr> <tr> <td>Elastic Load Balancing</td> <td>Aws::ElasticLoadBalancingV2</td> <td>aws-sdk-elasticloadbalancingv2</td> <td>2015-12-01</td> </tr> <tr> <td>FinSpace Public API</td> <td>Aws::FinSpaceData</td> <td>aws-sdk-finspacedata</td> <td>2020-07-13</td> </tr> <tr> <td>FinSpace User Environment Management service</td> <td>Aws::Finspace</td> <td>aws-sdk-finspace</td> <td>2021-03-12</td> </tr> <tr> <td>Firewall Management Service</td> <td>Aws::FMS</td> <td>aws-sdk-fms</td> <td>2018-01-01</td> </tr> <tr> <td>IAM Roles Anywhere</td> <td>Aws::RolesAnywhere</td> <td>aws-sdk-rolesanywhere</td> <td>2018-05-10</td> </tr> <tr> <td>Inspector Scan</td> <td>Aws::InspectorScan</td> <td>aws-sdk-inspectorscan</td> <td>2023-08-08</td> </tr> <tr> <td>Inspector2</td> <td>Aws::Inspector2</td> <td>aws-sdk-inspector2</td> <td>2020-06-08</td> </tr> <tr> <td>MailManager</td> <td>Aws::MailManager</td> <td>aws-sdk-mailmanager</td> <td>2023-10-17</td> </tr> <tr> <td>Managed Streaming for Kafka</td> <td>Aws::Kafka</td> <td>aws-sdk-kafka</td> <td>2018-11-14</td> </tr> <tr> <td>Managed Streaming for Kafka Connect</td> <td>Aws::KafkaConnect</td> <td>aws-sdk-kafkaconnect</td> <td>2021-09-14</td> </tr> <tr> <td>Managed integrations for AWS IoT Device Management</td> <td>Aws::IoTManagedIntegrations</td> <td>aws-sdk-iotmanagedintegrations</td> <td>2025-03-03</td> </tr> <tr> <td>Migration Hub Strategy Recommendations</td> <td>Aws::MigrationHubStrategyRecommendations</td> <td>aws-sdk-migrationhubstrategyrecommendations</td> <td>2020-02-19</td> </tr> <tr> <td>Network Flow Monitor</td> <td>Aws::NetworkFlowMonitor</td> <td>aws-sdk-networkflowmonitor</td> <td>2023-04-19</td> </tr> <tr> <td>OpenSearch Service Serverless</td> <td>Aws::OpenSearchServerless</td> <td>aws-sdk-opensearchserverless</td> <td>2021-11-01</td> </tr> <tr> <td>Partner Central Selling API</td> <td>Aws::PartnerCentralSelling</td> <td>aws-sdk-partnercentralselling</td> <td>2022-07-26</td> </tr> <tr> <td>Payment Cryptography Control Plane</td> <td>Aws::PaymentCryptography</td> <td>aws-sdk-paymentcryptography</td> <td>2021-09-14</td> </tr> <tr> <td>Payment Cryptography Data Plane</td> <td>Aws::PaymentCryptographyData</td> <td>aws-sdk-paymentcryptographydata</td> <td>2022-02-03</td> </tr> <tr> <td>PcaConnectorAd</td> <td>Aws::PcaConnectorAd</td> <td>aws-sdk-pcaconnectorad</td> <td>2018-05-10</td> </tr> <tr> <td>Private CA Connector for SCEP</td> <td>Aws::PcaConnectorScep</td> <td>aws-sdk-pcaconnectorscep</td> <td>2018-05-10</td> </tr> <tr> <td>QApps</td> <td>Aws::QApps</td> <td>aws-sdk-qapps</td> <td>2023-11-27</td> </tr> <tr> <td>QBusiness</td> <td>Aws::QBusiness</td> <td>aws-sdk-qbusiness</td> <td>2023-11-27</td> </tr> <tr> <td>Redshift Data API Service</td> <td>Aws::RedshiftDataAPIService</td> <td>aws-sdk-redshiftdataapiservice</td> <td>2019-12-20</td> </tr> <tr> <td>Redshift Serverless</td> <td>Aws::RedshiftServerless</td> <td>aws-sdk-redshiftserverless</td> <td>2021-04-21</td> </tr> <tr> <td>Route 53 Profiles</td> <td>Aws::Route53Profiles</td> <td>aws-sdk-route53profiles</td> <td>2018-05-10</td> </tr> <tr> <td>Route53 Recovery Cluster</td> <td>Aws::Route53RecoveryCluster</td> <td>aws-sdk-route53recoverycluster</td> <td>2019-12-02</td> </tr> <tr> <td>Runtime for Amazon Bedrock Data Automation</td> <td>Aws::BedrockDataAutomationRuntime</td> <td>aws-sdk-bedrockdataautomationruntime</td> <td>2024-06-13</td> </tr> <tr> <td>Schemas</td> <td>Aws::Schemas</td> <td>aws-sdk-schemas</td> <td>2019-12-02</td> </tr> <tr> <td>Security Incident Response</td> <td>Aws::SecurityIR</td> <td>aws-sdk-securityir</td> <td>2018-05-10</td> </tr> <tr> <td>Service Quotas</td> <td>Aws::ServiceQuotas</td> <td>aws-sdk-servicequotas</td> <td>2019-06-24</td> </tr> <tr> <td>Synthetics</td> <td>Aws::Synthetics</td> <td>aws-sdk-synthetics</td> <td>2017-10-11</td> </tr> <tr> <td>Tax Settings</td> <td>Aws::TaxSettings</td> <td>aws-sdk-taxsettings</td> <td>2018-05-10</td> </tr> <tr> <td>Timestream InfluxDB</td> <td>Aws::TimestreamInfluxDB</td> <td>aws-sdk-timestreaminfluxdb</td> <td>2023-01-27</td> </tr> <tr> <td>TrustedAdvisor Public API</td> <td>Aws::TrustedAdvisor</td> <td>aws-sdk-trustedadvisor</td> <td>2022-09-15</td> </tr> </tbody> </table></markdown-accessiblity-table> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">License</h2><a id="user-content-license" class="anchor" aria-label="Permalink: License" href="#license"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">This library is distributed under the <a href="http://www.apache.org/licenses/LICENSE-2.0.html" rel="nofollow">Apache License, version 2.0</a></p> <div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="copyright 2013. amazon web services, inc. all rights reserved. licensed under the apache license, version 2.0 (the "license"); you may not use this file except in compliance with the license. you may obtain a copy of the license at http://www.apache.org/licenses/license-2.0 unless required by applicable law or agreed to in writing, software distributed under the license is distributed on an "as is" basis, without warranties or conditions of any kind, either express or implied. see the license for the specific language governing permissions and limitations under the license."><pre lang="no-highlight" class="notranslate"><code>copyright 2013. amazon web services, inc. all rights reserved. licensed under the apache license, version 2.0 (the "license"); you may not use this file except in compliance with the license. you may obtain a copy of the license at http://www.apache.org/licenses/license-2.0 unless required by applicable law or agreed to in writing, software distributed under the license is distributed on an "as is" basis, without warranties or conditions of any kind, either express or implied. see the license for the specific language governing permissions and limitations under the license. </code></pre></div> </article></div></div></div></div></div> <!-- --> <!-- --> <script type="application/json" id="__PRIMER_DATA_:R0:__">{"resolvedServerColorMode":"day"}</script></div> </react-partial> <input type="hidden" data-csrf="true" value="+4ezksZBvkYuEhM7Cc6vjZmOUYpm/mrcarVTIulIvle2lpH6zE8iuZWu3+Zg34jplJ3Ii0lbTyNxNIS7KJBIfQ==" /> </div> <div data-view-component="true" class="Layout-sidebar"> <div class="BorderGrid about-margin" data-pjax> <div class="BorderGrid-row"> <div class="BorderGrid-cell"> <div class="hide-sm hide-md"> <h2 class="mb-3 h4">About</h2> <p class="f4 my-3"> The official AWS SDK for Ruby </p> <div class="my-3 d-flex flex-items-center"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link flex-shrink-0 mr-2"> <path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path> </svg> <span class="flex-auto min-width-0 css-truncate css-truncate-target width-fit"> <a title="https://aws.amazon.com/sdk-for-ruby/" role="link" target="_blank" rel="noopener noreferrer nofollow" class="text-bold" href="https://aws.amazon.com/sdk-for-ruby/">aws.amazon.com/sdk-for-ruby/</a> </span> </div> <h3 class="sr-only">Topics</h3> <div class="my-3"> <div class="f6"> <a href="/topics/ruby" title="Topic: ruby" data-view-component="true" class="topic-tag topic-tag-link"> ruby </a> <a href="/topics/aws" title="Topic: aws" data-view-component="true" class="topic-tag topic-tag-link"> aws </a> <a href="/topics/cloud" title="Topic: cloud" data-view-component="true" class="topic-tag topic-tag-link"> cloud </a> <a href="/topics/aws-sdk" title="Topic: aws-sdk" data-view-component="true" class="topic-tag topic-tag-link"> aws-sdk </a> </div> </div> <h3 class="sr-only">Resources</h3> <div class="mt-2"> <a class="Link--muted" data-analytics-event="{"category":"Repository Overview","action":"click","label":"location:sidebar;file:readme"}" href="#readme-ov-file"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book mr-2"> <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> </svg> Readme </a> </div> <h3 class="sr-only">License</h3> <div class="mt-2"> <a href="#Apache-2.0-1-ov-file" class="Link--muted" data-analytics-event="{"category":"Repository Overview","action":"click","label":"location:sidebar;file:license"}" > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-law mr-2"> <path d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path> </svg> Apache-2.0 license </a> </div> <h3 class="sr-only">Code of conduct</h3> <div class="mt-2"> <a href="#coc-ov-file" class="Link--muted" data-analytics-event="{"category":"Repository Overview","action":"click","label":"location:sidebar;file:code of conduct"}" > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-of-conduct mr-2"> <path d="M8.048 2.241c.964-.709 2.079-1.238 3.325-1.241a4.616 4.616 0 0 1 3.282 1.355c.41.408.757.86.996 1.428.238.568.348 1.206.347 1.968 0 2.193-1.505 4.254-3.081 5.862-1.496 1.526-3.213 2.796-4.249 3.563l-.22.163a.749.749 0 0 1-.895 0l-.221-.163c-1.036-.767-2.753-2.037-4.249-3.563C1.51 10.008.007 7.952.002 5.762a4.614 4.614 0 0 1 1.353-3.407C3.123.585 6.223.537 8.048 2.24Zm-1.153.983c-1.25-1.033-3.321-.967-4.48.191a3.115 3.115 0 0 0-.913 2.335c0 1.556 1.109 3.24 2.652 4.813C5.463 11.898 6.96 13.032 8 13.805c.353-.262.758-.565 1.191-.905l-1.326-1.223a.75.75 0 0 1 1.018-1.102l1.48 1.366c.328-.281.659-.577.984-.887L9.99 9.802a.75.75 0 1 1 1.019-1.103l1.384 1.28c.295-.329.566-.661.81-.995L12.92 8.7l-1.167-1.168c-.674-.671-1.78-.664-2.474.03-.268.269-.538.537-.802.797-.893.882-2.319.843-3.185-.032-.346-.35-.693-.697-1.043-1.047a.75.75 0 0 1-.04-1.016c.162-.191.336-.401.52-.623.62-.748 1.356-1.637 2.166-2.417Zm7.112 4.442c.313-.65.491-1.293.491-1.916v-.001c0-.614-.088-1.045-.23-1.385-.143-.339-.357-.633-.673-.949a3.111 3.111 0 0 0-2.218-.915c-1.092.003-2.165.627-3.226 1.602-.823.755-1.554 1.637-2.228 2.45l-.127.154.562.566a.755.755 0 0 0 1.066.02l.794-.79c1.258-1.258 3.312-1.31 4.594-.032.396.394.792.791 1.173 1.173Z"></path> </svg> Code of conduct </a> </div> <h3 class="sr-only">Security policy</h3> <div class="mt-2"> <a href="#security-ov-file" class="Link--muted" data-analytics-event="{"category":"Repository Overview","action":"click","label":"location:sidebar;file:security policy"}" > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-law mr-2"> <path d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path> </svg> Security policy </a> </div> <include-fragment src="/aws/aws-sdk-ruby/hovercards/citation/sidebar_partial?tree_name=version-3"> </include-fragment> <div class="mt-2"> <a href="/aws/aws-sdk-ruby/activity" data-view-component="true" class="Link Link--muted"><svg text="gray" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pulse mr-2"> <path d="M6 2c.306 0 .582.187.696.471L10 10.731l1.304-3.26A.751.751 0 0 1 12 7h3.25a.75.75 0 0 1 0 1.5h-2.742l-1.812 4.528a.751.751 0 0 1-1.392 0L6 4.77 4.696 8.03A.75.75 0 0 1 4 8.5H.75a.75.75 0 0 1 0-1.5h2.742l1.812-4.529A.751.751 0 0 1 6 2Z"></path> </svg> <span class="color-fg-muted">Activity</span></a> </div> <div class="mt-2"> <a href="/aws/aws-sdk-ruby/custom-properties" data-view-component="true" class="Link Link--muted"><svg text="gray" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-note mr-2"> <path d="M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14H1.75A1.75 1.75 0 0 1 0 12.25Zm1.75-.25a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25ZM3.5 6.25a.75.75 0 0 1 .75-.75h7a.75.75 0 0 1 0 1.5h-7a.75.75 0 0 1-.75-.75Zm.75 2.25h4a.75.75 0 0 1 0 1.5h-4a.75.75 0 0 1 0-1.5Z"></path> </svg> <span class="color-fg-muted">Custom properties</span></a> </div> <h3 class="sr-only">Stars</h3> <div class="mt-2"> <a href="/aws/aws-sdk-ruby/stargazers" data-view-component="true" class="Link Link--muted"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg> <strong>3.6k</strong> stars</a> </div> <h3 class="sr-only">Watchers</h3> <div class="mt-2"> <a href="/aws/aws-sdk-ruby/watchers" data-view-component="true" class="Link Link--muted"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-eye mr-2"> <path d="M8 2c1.981 0 3.671.992 4.933 2.078 1.27 1.091 2.187 2.345 2.637 3.023a1.62 1.62 0 0 1 0 1.798c-.45.678-1.367 1.932-2.637 3.023C11.67 13.008 9.981 14 8 14c-1.981 0-3.671-.992-4.933-2.078C1.797 10.83.88 9.576.43 8.898a1.62 1.62 0 0 1 0-1.798c.45-.677 1.367-1.931 2.637-3.022C4.33 2.992 6.019 2 8 2ZM1.679 7.932a.12.12 0 0 0 0 .136c.411.622 1.241 1.75 2.366 2.717C5.176 11.758 6.527 12.5 8 12.5c1.473 0 2.825-.742 3.955-1.715 1.124-.967 1.954-2.096 2.366-2.717a.12.12 0 0 0 0-.136c-.412-.621-1.242-1.75-2.366-2.717C10.824 4.242 9.473 3.5 8 3.5c-1.473 0-2.825.742-3.955 1.715-1.124.967-1.954 2.096-2.366 2.717ZM8 10a2 2 0 1 1-.001-3.999A2 2 0 0 1 8 10Z"></path> </svg> <strong>138</strong> watching</a> </div> <h3 class="sr-only">Forks</h3> <div class="mt-2"> <a href="/aws/aws-sdk-ruby/forks" data-view-component="true" class="Link Link--muted"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-2"> <path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path> </svg> <strong>1.2k</strong> forks</a> </div> <div class="mt-2"> <a class="Link--muted" href="/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2Faws%2Faws-sdk-ruby&report=aws+%28user%29"> Report repository </a> </div> </div> </div> </div> <div class="BorderGrid-row"> <div class="BorderGrid-cell"> <h2 class="h4 mb-3" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <a href="/aws/aws-sdk-ruby/releases" data-view-component="true" class="Link--primary no-underline Link">Releases <span title="1,025" data-view-component="true" class="Counter">1,025</span></a></h2> <a class="Link--primary d-flex no-underline" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="/aws/aws-sdk-ruby/releases/tag/v2.11.632"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-tag flex-shrink-0 mt-1 color-fg-success"> <path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"></path> </svg> <div class="ml-2 min-width-0"> <div class="d-flex"> <span class="css-truncate css-truncate-target text-bold mr-2" style="max-width: none;">Release v2.11.632 - 2020-11-20</span> <span title="Label: Latest" data-view-component="true" class="Label Label--success flex-shrink-0"> Latest </span> </div> <div class="text-small color-fg-muted"><relative-time datetime="2020-11-20T19:46:19Z" class="no-wrap">Nov 20, 2020</relative-time></div> </div> </a> <div data-view-component="true" class="mt-3"> <a text="small" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="/aws/aws-sdk-ruby/releases" data-view-component="true" class="Link">+ 1,024 releases</a></div> </div> </div> <div class="BorderGrid-row"> <div class="BorderGrid-cell"> <h2 class="h4 mb-3"> <a href="/orgs/aws/packages?repo_name=aws-sdk-ruby" data-view-component="true" class="Link--primary no-underline Link d-flex flex-items-center">Packages <span title="0" hidden="hidden" data-view-component="true" class="Counter ml-1">0</span></a></h2> <div class="text-small color-fg-muted" > No packages published <br> </div> </div> </div> <div class="BorderGrid-row" > <div class="BorderGrid-cell"> <h2 class="h4 mb-3"> <a href="/aws/aws-sdk-ruby/network/dependents" data-view-component="true" class="Link--primary no-underline Link">Used by <span title="6,661" data-view-component="true" class="Counter">6.7k</span></a> </h2> <a class="d-flex flex-items-center" href="/aws/aws-sdk-ruby/network/dependents"> <ul class="hx_flex-avatar-stack list-style-none min-width-0"> <li class="hx_flex-avatar-stack-item"> <img class="avatar avatar-user" src="https://avatars.githubusercontent.com/u/38199461?s=64&v=4" width="32" height="32" alt="@jquevedo1196" /> </li> <li class="hx_flex-avatar-stack-item"> <img class="avatar" src="https://avatars.githubusercontent.com/u/201467343?s=64&v=4" width="32" height="32" alt="@18f-copy" /> </li> <li class="hx_flex-avatar-stack-item"> <img class="avatar" src="https://avatars.githubusercontent.com/u/201405527?s=64&v=4" width="32" height="32" alt="@TerraformFoundation" /> </li> <li class="hx_flex-avatar-stack-item"> <img class="avatar" src="https://avatars.githubusercontent.com/u/201405527?s=64&v=4" width="32" height="32" alt="@TerraformFoundation" /> </li> <li class="hx_flex-avatar-stack-item"> <img class="avatar" src="https://avatars.githubusercontent.com/u/201405527?s=64&v=4" width="32" height="32" alt="@TerraformFoundation" /> </li> <li class="hx_flex-avatar-stack-item"> <img class="avatar" src="https://avatars.githubusercontent.com/u/201405527?s=64&v=4" width="32" height="32" alt="@TerraformFoundation" /> </li> <li class="hx_flex-avatar-stack-item"> <img class="avatar" src="https://avatars.githubusercontent.com/u/201405527?s=64&v=4" width="32" height="32" alt="@TerraformFoundation" /> </li> <li class="hx_flex-avatar-stack-item"> <img class="avatar" src="https://avatars.githubusercontent.com/u/201405527?s=64&v=4" width="32" height="32" alt="@TerraformFoundation" /> </li> </ul> <span class="px-2 text-bold text-small no-wrap"> + 6,653 </span> </a> </div> </div> <div class="BorderGrid-row"> <div class="BorderGrid-cell"> <h2 class="h4 mb-3"> <a href="/aws/aws-sdk-ruby/graphs/contributors" data-view-component="true" class="Link--primary no-underline Link d-flex flex-items-center">Contributors <span title="224" data-view-component="true" class="Counter ml-1">224</span></a></h2> <ul class="list-style-none d-flex flex-wrap mb-n2"> <li class="mb-2 mr-2" > <a href="https://github.com/trevorrowe" class="" data-hovercard-type="user" data-hovercard-url="/users/trevorrowe/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/27863?s=64&v=4" alt="@trevorrowe" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/awood45" class="" data-hovercard-type="user" data-hovercard-url="/users/awood45/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/2114465?s=64&v=4" alt="@awood45" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/mullermp" class="" data-hovercard-type="user" data-hovercard-url="/users/mullermp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/53055821?s=64&v=4" alt="@mullermp" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/cjyclaire" class="" data-hovercard-type="user" data-hovercard-url="/users/cjyclaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/10790394?s=64&v=4" alt="@cjyclaire" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/alextwoods" class="" data-hovercard-type="user" data-hovercard-url="/users/alextwoods/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/59035618?s=64&v=4" alt="@alextwoods" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/aws-sdk-ruby-automation" class="" data-hovercard-type="user" data-hovercard-url="/users/aws-sdk-ruby-automation/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/43144318?s=64&v=4" alt="@aws-sdk-ruby-automation" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/lsegal" class="" data-hovercard-type="user" data-hovercard-url="/users/lsegal/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/686?s=64&v=4" alt="@lsegal" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/ajredniwja" class="" data-hovercard-type="user" data-hovercard-url="/users/ajredniwja/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/34409186?s=64&v=4" alt="@ajredniwja" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/jterapin" class="" data-hovercard-type="user" data-hovercard-url="/users/jterapin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/57973151?s=64&v=4" alt="@jterapin" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/YashoSharma" class="" data-hovercard-type="user" data-hovercard-url="/users/YashoSharma/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/20632446?s=64&v=4" alt="@YashoSharma" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/apps/dependabot" class="" > <img src="https://avatars.githubusercontent.com/in/29110?s=64&v=4" alt="@dependabot[bot]" size="32" height="32" width="32" data-view-component="true" class="avatar" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/srchase" class="" data-hovercard-type="user" data-hovercard-url="/users/srchase/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/782571?s=64&v=4" alt="@srchase" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/rcrews" class="" data-hovercard-type="user" data-hovercard-url="/users/rcrews/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/11449126?s=64&v=4" alt="@rcrews" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/casperisfine" class="" data-hovercard-type="user" data-hovercard-url="/users/casperisfine/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/19192189?s=64&v=4" alt="@casperisfine" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> </ul> <div data-view-component="true" class="mt-3"> <a text="small" href="/aws/aws-sdk-ruby/graphs/contributors" data-view-component="true" class="Link--inTextBlock Link">+ 210 contributors</a></div> </div> </div> <div class="BorderGrid-row"> <div class="BorderGrid-cell"> <h2 class="h4 mb-3">Languages</h2> <div class="mb-2"> <span data-view-component="true" class="Progress"> <span style="background-color:#701516 !important;;width: 100.0%;" itemprop="keywords" data-view-component="true" class="Progress-item color-bg-success-emphasis"></span> </span></div> <ul class="list-style-none"> <li class="d-inline"> <a class="d-inline-flex flex-items-center flex-nowrap Link--secondary no-underline text-small mr-3" href="/aws/aws-sdk-ruby/search?l=ruby" data-ga-click="Repository, language stats search click, location:repo overview"> <svg style="color:#701516;" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-dot-fill mr-2"> <path d="M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z"></path> </svg> <span class="color-fg-default text-bold mr-1">Ruby</span> <span>100.0%</span> </a> </li> </ul> </div> </div> </div> </div> </div></div> </div> </div> </turbo-frame> </main> </div> </div> <footer class="footer pt-8 pb-6 f6 color-fg-muted p-responsive" role="contentinfo" > <h2 class='sr-only'>Footer</h2> <div class="d-flex flex-justify-center flex-items-center flex-column-reverse flex-lg-row flex-wrap flex-lg-nowrap"> <div class="d-flex flex-items-center flex-shrink-0 mx-2"> <a aria-label="Homepage" title="GitHub" class="footer-octicon mr-2" href="https://github.com"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github"> <path d="M12 1C5.9225 1 1 5.9225 1 12C1 16.8675 4.14875 20.9787 8.52125 22.4362C9.07125 22.5325 9.2775 22.2025 9.2775 21.9137C9.2775 21.6525 9.26375 20.7862 9.26375 19.865C6.5 20.3737 5.785 19.1912 5.565 18.5725C5.44125 18.2562 4.905 17.28 4.4375 17.0187C4.0525 16.8125 3.5025 16.3037 4.42375 16.29C5.29 16.2762 5.90875 17.0875 6.115 17.4175C7.105 19.0812 8.68625 18.6137 9.31875 18.325C9.415 17.61 9.70375 17.1287 10.02 16.8537C7.5725 16.5787 5.015 15.63 5.015 11.4225C5.015 10.2262 5.44125 9.23625 6.1425 8.46625C6.0325 8.19125 5.6475 7.06375 6.2525 5.55125C6.2525 5.55125 7.17375 5.2625 9.2775 6.67875C10.1575 6.43125 11.0925 6.3075 12.0275 6.3075C12.9625 6.3075 13.8975 6.43125 14.7775 6.67875C16.8813 5.24875 17.8025 5.55125 17.8025 5.55125C18.4075 7.06375 18.0225 8.19125 17.9125 8.46625C18.6138 9.23625 19.04 10.2125 19.04 11.4225C19.04 15.6437 16.4688 16.5787 14.0213 16.8537C14.42 17.1975 14.7638 17.8575 14.7638 18.8887C14.7638 20.36 14.75 21.5425 14.75 21.9137C14.75 22.2025 14.9563 22.5462 15.5063 22.4362C19.8513 20.9787 23 16.8537 23 12C23 5.9225 18.0775 1 12 1Z"></path> </svg> </a> <span> © 2025 GitHub, Inc. </span> </div> <nav aria-label="Footer"> <h3 class="sr-only" id="sr-footer-heading">Footer navigation</h3> <ul class="list-style-none d-flex flex-justify-center flex-wrap mb-2 mb-lg-0" aria-labelledby="sr-footer-heading"> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to Terms","label":"text:terms"}" href="https://docs.github.com/site-policy/github-terms/github-terms-of-service" data-view-component="true" class="Link--secondary Link">Terms</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to privacy","label":"text:privacy"}" href="https://docs.github.com/site-policy/privacy-policies/github-privacy-statement" data-view-component="true" class="Link--secondary Link">Privacy</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to security","label":"text:security"}" href="https://github.com/security" data-view-component="true" class="Link--secondary Link">Security</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to status","label":"text:status"}" href="https://www.githubstatus.com/" data-view-component="true" class="Link--secondary Link">Status</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to docs","label":"text:docs"}" href="https://docs.github.com/" data-view-component="true" class="Link--secondary Link">Docs</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to contact","label":"text:contact"}" href="https://support.github.com?tags=dotcom-footer" data-view-component="true" class="Link--secondary Link">Contact</a> </li> <li class="mx-2" > <cookie-consent-link> <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement" data-analytics-event="{"location":"footer","action":"cookies","context":"subfooter","tag":"link","label":"cookies_link_subfooter_footer"}" > Manage cookies </button> </cookie-consent-link> </li> <li class="mx-2"> <cookie-consent-link> <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement" data-analytics-event="{"location":"footer","action":"dont_share_info","context":"subfooter","tag":"link","label":"dont_share_info_link_subfooter_footer"}" > Do not share my personal information </button> </cookie-consent-link> </li> </ul> </nav> </div> </footer> <ghcc-consent id="ghcc" class="position-fixed bottom-0 left-0" style="z-index: 999999" data-initial-cookie-consent-allowed="" data-cookie-consent-required="false"></ghcc-consent> <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> You can’t perform that action at this time. </div> <template id="site-details-dialog"> <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open> <summary role="button" aria-label="Close dialog"></summary> <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal"> <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> <div class="octocat-spinner my-6 js-details-dialog-spinner"></div> </details-dialog> </details> </template> <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;"> <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;"> </div> </div> <template id="snippet-clipboard-copy-button"> <div class="zeroclipboard-container position-absolute right-0 top-0"> <clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> </div> </template> <template id="snippet-clipboard-copy-button-unpositioned"> <div class="zeroclipboard-container"> <clipboard-copy aria-label="Copy" class="ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 d-flex flex-justify-center flex-items-center" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> </div> </template> </div> <div id="js-global-screen-reader-notice" class="sr-only mt-n1" aria-live="polite" aria-atomic="true" ></div> <div id="js-global-screen-reader-notice-assertive" class="sr-only mt-n1" aria-live="assertive" aria-atomic="true"></div> </body> </html>