diff --git a/.doc_gen/metadata/workdocs_metadata.yaml b/.doc_gen/metadata/workdocs_metadata.yaml deleted file mode 100644 index 112b2f6f932..00000000000 --- a/.doc_gen/metadata/workdocs_metadata.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# zexi 0.4.3 -workdocs_DescribeUsers: - languages: - Ruby: - versions: - - sdk_version: 3 - github: ruby/example_code/workdocs - sdkguide: - excerpts: - - description: - snippet_tags: - - workdocs.Ruby.DescribeUsers - services: - workdocs: {DescribeUsers} -workdocs_DescribeRootFolders: - languages: - Ruby: - versions: - - sdk_version: 3 - github: ruby/example_code/workdocs - sdkguide: - excerpts: - - description: - snippet_tags: - - workdocs.Ruby.DescribeRootFolders - services: - workdocs: {DescribeRootFolders} diff --git a/ruby/example_code/workdocs/README.md b/ruby/example_code/workdocs/README.md deleted file mode 100644 index ac219c552a8..00000000000 --- a/ruby/example_code/workdocs/README.md +++ /dev/null @@ -1,85 +0,0 @@ -# Amazon WorkDocs code examples for the SDK for Ruby - -## Overview - -Shows how to use the AWS SDK for Ruby to work with Amazon WorkDocs. - - - - -_Amazon WorkDocs _ - -## ⚠ Important - -* Running this code might result in charges to your AWS account. For more details, see [AWS Pricing](https://aws.amazon.com/pricing/) and [Free Tier](https://aws.amazon.com/free/). -* Running the tests might result in charges to your AWS account. -* We recommend that you grant your code least privilege. At most, grant only the minimum permissions required to perform the task. For more information, see [Grant least privilege](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege). -* This code is not tested in every AWS Region. For more information, see [AWS Regional Services](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services). - - - - -## Code examples - -### Prerequisites - -For prerequisites, see the [README](../../README.md#Prerequisites) in the `ruby` folder. - - - - - -### Single actions - -Code excerpts that show you how to call individual service functions. - -- [DescribeRootFolders](workdocs_basics.rb#L37) -- [DescribeUsers](workdocs_basics.rb#L12) - - - - - -## Run the examples - -### Instructions - - - - - - - -### Tests - -⚠ Running tests might result in charges to your AWS account. - - -To find instructions for running these tests, see the [README](../../README.md#Tests) -in the `ruby` folder. - - - - -The example code in this directory is not currently tested. - -## Contribute -Code examples thrive on community contribution. - -To learn more about the contributing process, see [CONTRIBUTING.md](../../../CONTRIBUTING.md). - - -## Additional resources - -- [Amazon WorkDocs Developer Guide](https://docs.aws.amazon.com/workdocs/latest/developerguide/what_is.html) -- [Amazon WorkDocs API Reference](https://docs.aws.amazon.com/workdocs/latest/APIReference/Welcome.html) -- [SDK for Ruby Amazon WorkDocs reference](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Workdocs.html) - - - - ---- - -Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - -SPDX-License-Identifier: Apache-2.0 \ No newline at end of file diff --git a/ruby/example_code/workdocs/spec/workdocs_basics_spec.rb b/ruby/example_code/workdocs/spec/workdocs_basics_spec.rb deleted file mode 100644 index 592adbca235..00000000000 --- a/ruby/example_code/workdocs/spec/workdocs_basics_spec.rb +++ /dev/null @@ -1,33 +0,0 @@ -# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -# SPDX-License-Identifier: Apache-2.0 -require 'rspec' -require_relative '../workdocs_basics' - -describe WorkDocsManager do - let(:client) { Aws::WorkDocs::Client.new(stub_responses: true) } - let(:manager) { WorkDocsManager.new(client) } - let(:org_id) { 'd-123456789c' } - let(:user_email) { 'someone@somewhere' } - - describe '#describe_users' do - it 'calls describe_users on the WorkDocs client' do - client.stub_responses(:describe_users, users: []) - expect { manager.describe_users(org_id) }.not_to raise_error - end - end - - describe '#get_user_folder' do - it 'returns the root folder id for a given user email' do - users = [{ email_address: user_email, root_folder_id: 'root-folder-id' }] - expect(manager.get_user_folder(users, user_email)).to eq('root-folder-id') - end - end - - describe '#describe_folder_contents' do - it 'calls describe_folder_contents on the WorkDocs client' do - folder_id = 'root-folder-id' - client.stub_responses(:describe_folder_contents, documents: []) - expect { manager.describe_folder_contents(folder_id) }.not_to raise_error - end - end -end diff --git a/ruby/example_code/workdocs/workdocs_basics.rb b/ruby/example_code/workdocs/workdocs_basics.rb deleted file mode 100644 index dcc7ad8f672..00000000000 --- a/ruby/example_code/workdocs/workdocs_basics.rb +++ /dev/null @@ -1,84 +0,0 @@ -# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -# SPDX-License-Identifier: Apache-2.0 -require 'aws-sdk-workdocs' -require 'logger' - -class WorkDocsManager - def initialize(client, logger: Logger.new($stdout)) - @client = client - @logger = logger - end - - # snippet-start:[workdocs.Ruby.DescribeUsers] - # Describes users within an organization - # @param [String] org_id: The ID of the org. - def describe_users(org_id) - resp = @client.describe_users({ - organization_id: org_id, - include: 'ALL', # accepts ALL, ACTIVE_PENDING - order: 'ASCENDING', # accepts ASCENDING, DESCENDING - sort: 'USER_NAME', # accepts USER_NAME - fields: %w[FULL_NAME STORAGE_LIMIT USER_STATUS STORAGE_USED] # Corrected field names - }) - resp.users.each do |user| - @logger.info "First name: #{user.given_name}" - @logger.info "Last name: #{user.surname}" - @logger.info "Email: #{user.email_address}" - @logger.info "Root folder: #{user.root_folder_id}" - @logger.info '' - end - resp.users - rescue Aws::WorkDocs::Errors::ServiceError => e - @logger.error "AWS WorkDocs Service Error: #{e.message}" - exit(1) - end - # snippet-end:[workdocs.Ruby.DescribeUsers] - - # snippet-start:[workdocs.Ruby.DescribeRootFolders] - # Retrieves the root folder for a user by email - # @param users [Array] A list of users selected from API response - # @param user_email [String] The email of the user. - def get_user_folder(users, user_email) - user = users.find { |user| user.email_address == user_email } - if user - user.root_folder_id - else - @logger.error "Could not get root folder for user with email address #{user_email}" - exit(1) - end - end - - # Describes the contents of a folder - # @param [String] folder_id - The Id of the folder to describe. - def describe_folder_contents(folder_id) - resp = @client.describe_folder_contents({ - folder_id: folder_id, # required - sort: 'NAME', # accepts DATE, NAME - order: 'ASCENDING' # accepts ASCENDING, DESCENDING - }) - resp.documents.each do |doc| - md = doc.latest_version_metadata - @logger.info "Name: #{md.name}" - @logger.info "Size (bytes): #{md.size}" - @logger.info "Last modified: #{doc.modified_timestamp}" - @logger.info "Doc ID: #{doc.id}" - @logger.info "Version ID: #{md.id}" - @logger.info '' - end - rescue Aws::WorkDocs::Errors::ServiceError => e - @logger.error "Error listing folder contents: #{e.message}" - exit(1) - end - # snippet-end:[workdocs.Ruby.DescribeRootFolders] -end - -# Example usage: -if $PROGRAM_NAME == __FILE__ - user_email = 'someone@somewhere' - org_id = 'd-123456789c' - client = Aws::WorkDocs::Client.new - manager = WorkDocsManager.new(client) - users = manager.describe_users(org_id) - user_folder = manager.get_user_folder(users, user_email) - manager.describe_folder_contents(user_folder) if user_folder -end