Class List Method List File List

# Class: Com::Vmware::Content::Library::PublishInfo

Inherits:
  VAPI::Bindings::VapiStruct
  - Object
  - VAPI::Bindings::VapiStruct
  - Com::Vmware::Content::Library::PublishInfo
  show all
Defined in:
  /build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/content/library.rb

## Overview

The ``Com::Vmware::Content::Library::PublishInfo`` class defines how a local library is published publicly for synchronization to other libraries.

## Defined Under Namespace

Classes: AuthenticationMethod

## Instance Attribute Summary (collapse)

- - (Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod) authentication_method

  Indicates how a subscribed library should authenticate ( ``BASIC``, ``NONE`` ) to the published library endpoint.

- - (String) password

  The password to require for authentication.

- - (Boolean) persist_json_enabled

  Whether library and library item metadata are persisted in the storage backing as JSON files.

- - (URI) publish_url

  The URL to which the library metadata is published by the Content Library Service.

- - (Boolean) published

  Whether the local library is published.

- - (String) user_name

  The username to require for authentication.

## Class Method Summary (collapse)

- + (VAPI::Bindings::StructType) binding_type

  Holds (gets or creates) the binding type metadata for this structure type.

## Instance Method Summary (collapse)

- - (PublishInfo) initialize(ruby_values = nil, struct_value = nil) constructor

  Constructs a new instance.

## Constructor Details

### - (`PublishInfo`) initialize(ruby_values = nil, struct_value = nil)

Constructs a new instance.

Parameters:

- ruby_values (`Hash`) (defaults to: `nil`) —

  a map of initial property values (optional)

- struct_value (`VAPI::Data::StructValue`) (defaults to: `nil`) —

  a raw StructValue from the wire (optional)

    726
    727
    728
    # File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/content/library.rb', line 726

    def initialize(ruby_values=nil, struct_value=nil)
        super(self.class.binding_type, ruby_values, struct_value)
    end

## Instance Attribute Details

### - (`Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod`) authentication_method

Indicates how a subscribed library should authenticate ( ``BASIC``, ``NONE`` ) to the published library endpoint. This field must be provided for the ``create`` method . It will always be present in the result of the ``get`` or ``list`` methods . It is optional for the ``update`` method .

Returns:

- (`Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod`)

    693
    694
    695
    696
    697
    698
    699
    700
    701
    702
    703
    704
    705
    706
    707
    708
    709
    710
    711
    712
    713
    714
    715
    716
    717
    718
    719
    720
    721
    722
    723
    724
    725
    726
    727
    728
    729
    730
    731
    732
    733
    734
    735
    736
    737
    738
    739
    740
    741
    742
    743
    744
    745
    746
    747
    748
    749
    750
    751
    752
    753
    754
    755
    756
    757
    758
    759
    760
    761
    762
    763
    764
    765
    766
    767
    768
    769
    770
    771
    772
    773
    774
    775
    776
    777
    778
    779
    780
    781
    782
    783
    784
    785
    786
    787
    788
    # File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/content/library.rb', line 693

    class PublishInfo < VAPI::Bindings::VapiStruct

        class << self
            # Holds (gets or creates) the binding type metadata for this structure type.
            # @scope class
            # @return [VAPI::Bindings::StructType] the binding type
            def binding_type
                @binding_type ||= VAPI::Bindings::StructType.new(
                    'com.vmware.content.library.publish_info',
                    {
                        'authentication_method' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod')),
                        'published' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::BooleanType.instance),
                        'publish_url' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::URIType.instance),
                        'user_name' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::StringType.instance),
                        'password' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SecretType.instance),
                        'persist_json_enabled' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::BooleanType.instance),
                    },
                    PublishInfo,
                    false,
                    nil)
            end
        end

        attr_accessor :authentication_method,
                      :published,
                      :publish_url,
                      :user_name,
                      :password,
                      :persist_json_enabled

        # Constructs a new instance.
        # @param ruby_values [Hash] a map of initial property values (optional)
        # @param struct_value [VAPI::Data::StructValue] a raw StructValue from the wire (optional)
        def initialize(ruby_values=nil, struct_value=nil)
            super(self.class.binding_type, ruby_values, struct_value)
        end

        # The  ``Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod``   enumerated type  indicates how a subscribed library should authenticate to the published library endpoint.
        # @!attribute [rw] basic
        #     @return [Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod]
        #     Require HTTP Basic authentication matching a specified username and password.
        # @!attribute [rw] none
        #     @return [Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod]
        #     Require no authentication.
        class AuthenticationMethod < VAPI::Bindings::VapiEnum

            class << self
                # Holds (gets or creates) the binding type metadata for this enumeration type.
                # @scope class
                # @return [VAPI::Bindings::EnumType] the binding type
                def binding_type
                    @binding_type ||= VAPI::Bindings::EnumType.new(
                        'com.vmware.content.library.publish_info.authentication_method',
                        AuthenticationMethod)
                end

                # Converts from a string value (perhaps off the wire) to an instance
                # of this enum type.
                # @param value [String] the actual value of the enum instance
                # @return [AuthenticationMethod] the instance found for the value, otherwise
                #         an unknown instance will be built for the value
                def from_string(value)
                    begin
                        const_get(value)
                    rescue NameError
                        AuthenticationMethod.new('UNKNOWN', value)
                    end
                end
            end

            private

            # Constructs a new instance.
            # @param value [String] the actual value of the enum instance
            # @param unknown [String] the unknown value when value is 'UKNOWN'
            def initialize(value, unknown=nil)
                super(self.class.binding_type, value, unknown)
            end

            public

            # @!attribute [rw] basic
            #     @return [Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod]
            #     Require HTTP Basic authentication matching a specified username and password.
            BASIC = AuthenticationMethod.new('BASIC')

            # @!attribute [rw] none
            #     @return [Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod]
            #     Require no authentication.
            NONE = AuthenticationMethod.new('NONE')

        end

    end

### - (`String`) password

The password to require for authentication. This field is optional for the ``create`` method . When the authentication method is :attr:`Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod.NONE` , the password can be left nil . When the authentication method is :attr:`Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod.BASIC` , the password should be a non-empty string. This field is optional for the ``update`` method . Leaving it nil during update indicates that the password is not changed. This field is not used for the ``get`` or ``list`` method .

Returns:

- (`String`)

    693
    694
    695
    696
    697
    698
    699
    700
    701
    702
    703
    704
    705
    706
    707
    708
    709
    710
    711
    712
    713
    714
    715
    716
    717
    718
    719
    720
    721
    722
    723
    724
    725
    726
    727
    728
    729
    730
    731
    732
    733
    734
    735
    736
    737
    738
    739
    740
    741
    742
    743
    744
    745
    746
    747
    748
    749
    750
    751
    752
    753
    754
    755
    756
    757
    758
    759
    760
    761
    762
    763
    764
    765
    766
    767
    768
    769
    770
    771
    772
    773
    774
    775
    776
    777
    778
    779
    780
    781
    782
    783
    784
    785
    786
    787
    788
    # File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/content/library.rb', line 693

    class PublishInfo < VAPI::Bindings::VapiStruct

        class << self
            # Holds (gets or creates) the binding type metadata for this structure type.
            # @scope class
            # @return [VAPI::Bindings::StructType] the binding type
            def binding_type
                @binding_type ||= VAPI::Bindings::StructType.new(
                    'com.vmware.content.library.publish_info',
                    {
                        'authentication_method' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod')),
                        'published' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::BooleanType.instance),
                        'publish_url' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::URIType.instance),
                        'user_name' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::StringType.instance),
                        'password' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SecretType.instance),
                        'persist_json_enabled' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::BooleanType.instance),
                    },
                    PublishInfo,
                    false,
                    nil)
            end
        end

        attr_accessor :authentication_method,
                      :published,
                      :publish_url,
                      :user_name,
                      :password,
                      :persist_json_enabled

        # Constructs a new instance.
        # @param ruby_values [Hash] a map of initial property values (optional)
        # @param struct_value [VAPI::Data::StructValue] a raw StructValue from the wire (optional)
        def initialize(ruby_values=nil, struct_value=nil)
            super(self.class.binding_type, ruby_values, struct_value)
        end

        # The  ``Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod``   enumerated type  indicates how a subscribed library should authenticate to the published library endpoint.
        # @!attribute [rw] basic
        #     @return [Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod]
        #     Require HTTP Basic authentication matching a specified username and password.
        # @!attribute [rw] none
        #     @return [Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod]
        #     Require no authentication.
        class AuthenticationMethod < VAPI::Bindings::VapiEnum

            class << self
                # Holds (gets or creates) the binding type metadata for this enumeration type.
                # @scope class
                # @return [VAPI::Bindings::EnumType] the binding type
                def binding_type
                    @binding_type ||= VAPI::Bindings::EnumType.new(
                        'com.vmware.content.library.publish_info.authentication_method',
                        AuthenticationMethod)
                end

                # Converts from a string value (perhaps off the wire) to an instance
                # of this enum type.
                # @param value [String] the actual value of the enum instance
                # @return [AuthenticationMethod] the instance found for the value, otherwise
                #         an unknown instance will be built for the value
                def from_string(value)
                    begin
                        const_get(value)
                    rescue NameError
                        AuthenticationMethod.new('UNKNOWN', value)
                    end
                end
            end

            private

            # Constructs a new instance.
            # @param value [String] the actual value of the enum instance
            # @param unknown [String] the unknown value when value is 'UKNOWN'
            def initialize(value, unknown=nil)
                super(self.class.binding_type, value, unknown)
            end

            public

            # @!attribute [rw] basic
            #     @return [Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod]
            #     Require HTTP Basic authentication matching a specified username and password.
            BASIC = AuthenticationMethod.new('BASIC')

            # @!attribute [rw] none
            #     @return [Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod]
            #     Require no authentication.
            NONE = AuthenticationMethod.new('NONE')

        end

    end

### - (`Boolean`) persist_json_enabled

Whether library and library item metadata are persisted in the storage backing as JSON files. This flag only applies if the local library is published.

     Enabling JSON persistence allows you to synchronize a subscribed library manually instead of over HTTP. You copy the local library content and metadata to another storage backing manually and then create a subscribed library referencing the location of the library JSON file in the   :attr:`Com::Vmware::Content::Library::SubscriptionInfo.subscription_url`  . When the subscribed library's storage backing matches the subscription URL, files do not need to be copied to the subscribed library.

     For a library backed by a datastore, the library JSON file will be stored at the path contentlib-{library_id}/lib.json on the datastore.

     For a library backed by a remote file system, the library JSON file will be stored at {library_id}/lib.json in the remote file system path.

This field is optional for the ``create`` method . It will always be present in the result of the ``get`` or ``list`` methods . It is optional for the ``update`` method .

Returns:

- (`Boolean`)

    693
    694
    695
    696
    697
    698
    699
    700
    701
    702
    703
    704
    705
    706
    707
    708
    709
    710
    711
    712
    713
    714
    715
    716
    717
    718
    719
    720
    721
    722
    723
    724
    725
    726
    727
    728
    729
    730
    731
    732
    733
    734
    735
    736
    737
    738
    739
    740
    741
    742
    743
    744
    745
    746
    747
    748
    749
    750
    751
    752
    753
    754
    755
    756
    757
    758
    759
    760
    761
    762
    763
    764
    765
    766
    767
    768
    769
    770
    771
    772
    773
    774
    775
    776
    777
    778
    779
    780
    781
    782
    783
    784
    785
    786
    787
    788
    # File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/content/library.rb', line 693

    class PublishInfo < VAPI::Bindings::VapiStruct

        class << self
            # Holds (gets or creates) the binding type metadata for this structure type.
            # @scope class
            # @return [VAPI::Bindings::StructType] the binding type
            def binding_type
                @binding_type ||= VAPI::Bindings::StructType.new(
                    'com.vmware.content.library.publish_info',
                    {
                        'authentication_method' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod')),
                        'published' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::BooleanType.instance),
                        'publish_url' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::URIType.instance),
                        'user_name' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::StringType.instance),
                        'password' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SecretType.instance),
                        'persist_json_enabled' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::BooleanType.instance),
                    },
                    PublishInfo,
                    false,
                    nil)
            end
        end

        attr_accessor :authentication_method,
                      :published,
                      :publish_url,
                      :user_name,
                      :password,
                      :persist_json_enabled

        # Constructs a new instance.
        # @param ruby_values [Hash] a map of initial property values (optional)
        # @param struct_value [VAPI::Data::StructValue] a raw StructValue from the wire (optional)
        def initialize(ruby_values=nil, struct_value=nil)
            super(self.class.binding_type, ruby_values, struct_value)
        end

        # The  ``Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod``   enumerated type  indicates how a subscribed library should authenticate to the published library endpoint.
        # @!attribute [rw] basic
        #     @return [Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod]
        #     Require HTTP Basic authentication matching a specified username and password.
        # @!attribute [rw] none
        #     @return [Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod]
        #     Require no authentication.
        class AuthenticationMethod < VAPI::Bindings::VapiEnum

            class << self
                # Holds (gets or creates) the binding type metadata for this enumeration type.
                # @scope class
                # @return [VAPI::Bindings::EnumType] the binding type
                def binding_type
                    @binding_type ||= VAPI::Bindings::EnumType.new(
                        'com.vmware.content.library.publish_info.authentication_method',
                        AuthenticationMethod)
                end

                # Converts from a string value (perhaps off the wire) to an instance
                # of this enum type.
                # @param value [String] the actual value of the enum instance
                # @return [AuthenticationMethod] the instance found for the value, otherwise
                #         an unknown instance will be built for the value
                def from_string(value)
                    begin
                        const_get(value)
                    rescue NameError
                        AuthenticationMethod.new('UNKNOWN', value)
                    end
                end
            end

            private

            # Constructs a new instance.
            # @param value [String] the actual value of the enum instance
            # @param unknown [String] the unknown value when value is 'UKNOWN'
            def initialize(value, unknown=nil)
                super(self.class.binding_type, value, unknown)
            end

            public

            # @!attribute [rw] basic
            #     @return [Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod]
            #     Require HTTP Basic authentication matching a specified username and password.
            BASIC = AuthenticationMethod.new('BASIC')

            # @!attribute [rw] none
            #     @return [Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod]
            #     Require no authentication.
            NONE = AuthenticationMethod.new('NONE')

        end

    end

### - (`URI`) publish_url

The URL to which the library metadata is published by the Content Library Service.

     This value can be used to set the   :attr:`Com::Vmware::Content::Library::SubscriptionInfo.subscription_url`   property when creating a subscribed library.

This field is not used for the ``create`` method . It will always be present in the result of the ``get`` or ``list`` methods . It is not used for the ``update`` method .

Returns:

- (`URI`)

    693
    694
    695
    696
    697
    698
    699
    700
    701
    702
    703
    704
    705
    706
    707
    708
    709
    710
    711
    712
    713
    714
    715
    716
    717
    718
    719
    720
    721
    722
    723
    724
    725
    726
    727
    728
    729
    730
    731
    732
    733
    734
    735
    736
    737
    738
    739
    740
    741
    742
    743
    744
    745
    746
    747
    748
    749
    750
    751
    752
    753
    754
    755
    756
    757
    758
    759
    760
    761
    762
    763
    764
    765
    766
    767
    768
    769
    770
    771
    772
    773
    774
    775
    776
    777
    778
    779
    780
    781
    782
    783
    784
    785
    786
    787
    788
    # File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/content/library.rb', line 693

    class PublishInfo < VAPI::Bindings::VapiStruct

        class << self
            # Holds (gets or creates) the binding type metadata for this structure type.
            # @scope class
            # @return [VAPI::Bindings::StructType] the binding type
            def binding_type
                @binding_type ||= VAPI::Bindings::StructType.new(
                    'com.vmware.content.library.publish_info',
                    {
                        'authentication_method' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod')),
                        'published' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::BooleanType.instance),
                        'publish_url' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::URIType.instance),
                        'user_name' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::StringType.instance),
                        'password' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SecretType.instance),
                        'persist_json_enabled' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::BooleanType.instance),
                    },
                    PublishInfo,
                    false,
                    nil)
            end
        end

        attr_accessor :authentication_method,
                      :published,
                      :publish_url,
                      :user_name,
                      :password,
                      :persist_json_enabled

        # Constructs a new instance.
        # @param ruby_values [Hash] a map of initial property values (optional)
        # @param struct_value [VAPI::Data::StructValue] a raw StructValue from the wire (optional)
        def initialize(ruby_values=nil, struct_value=nil)
            super(self.class.binding_type, ruby_values, struct_value)
        end

        # The  ``Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod``   enumerated type  indicates how a subscribed library should authenticate to the published library endpoint.
        # @!attribute [rw] basic
        #     @return [Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod]
        #     Require HTTP Basic authentication matching a specified username and password.
        # @!attribute [rw] none
        #     @return [Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod]
        #     Require no authentication.
        class AuthenticationMethod < VAPI::Bindings::VapiEnum

            class << self
                # Holds (gets or creates) the binding type metadata for this enumeration type.
                # @scope class
                # @return [VAPI::Bindings::EnumType] the binding type
                def binding_type
                    @binding_type ||= VAPI::Bindings::EnumType.new(
                        'com.vmware.content.library.publish_info.authentication_method',
                        AuthenticationMethod)
                end

                # Converts from a string value (perhaps off the wire) to an instance
                # of this enum type.
                # @param value [String] the actual value of the enum instance
                # @return [AuthenticationMethod] the instance found for the value, otherwise
                #         an unknown instance will be built for the value
                def from_string(value)
                    begin
                        const_get(value)
                    rescue NameError
                        AuthenticationMethod.new('UNKNOWN', value)
                    end
                end
            end

            private

            # Constructs a new instance.
            # @param value [String] the actual value of the enum instance
            # @param unknown [String] the unknown value when value is 'UKNOWN'
            def initialize(value, unknown=nil)
                super(self.class.binding_type, value, unknown)
            end

            public

            # @!attribute [rw] basic
            #     @return [Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod]
            #     Require HTTP Basic authentication matching a specified username and password.
            BASIC = AuthenticationMethod.new('BASIC')

            # @!attribute [rw] none
            #     @return [Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod]
            #     Require no authentication.
            NONE = AuthenticationMethod.new('NONE')

        end

    end

### - (`Boolean`) published

Whether the local library is published. This field must be provided for the ``create`` method . It will always be present in the result of the ``get`` or ``list`` methods . It is optional for the ``update`` method .

Returns:

- (`Boolean`)

    693
    694
    695
    696
    697
    698
    699
    700
    701
    702
    703
    704
    705
    706
    707
    708
    709
    710
    711
    712
    713
    714
    715
    716
    717
    718
    719
    720
    721
    722
    723
    724
    725
    726
    727
    728
    729
    730
    731
    732
    733
    734
    735
    736
    737
    738
    739
    740
    741
    742
    743
    744
    745
    746
    747
    748
    749
    750
    751
    752
    753
    754
    755
    756
    757
    758
    759
    760
    761
    762
    763
    764
    765
    766
    767
    768
    769
    770
    771
    772
    773
    774
    775
    776
    777
    778
    779
    780
    781
    782
    783
    784
    785
    786
    787
    788
    # File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/content/library.rb', line 693

    class PublishInfo < VAPI::Bindings::VapiStruct

        class << self
            # Holds (gets or creates) the binding type metadata for this structure type.
            # @scope class
            # @return [VAPI::Bindings::StructType] the binding type
            def binding_type
                @binding_type ||= VAPI::Bindings::StructType.new(
                    'com.vmware.content.library.publish_info',
                    {
                        'authentication_method' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod')),
                        'published' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::BooleanType.instance),
                        'publish_url' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::URIType.instance),
                        'user_name' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::StringType.instance),
                        'password' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SecretType.instance),
                        'persist_json_enabled' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::BooleanType.instance),
                    },
                    PublishInfo,
                    false,
                    nil)
            end
        end

        attr_accessor :authentication_method,
                      :published,
                      :publish_url,
                      :user_name,
                      :password,
                      :persist_json_enabled

        # Constructs a new instance.
        # @param ruby_values [Hash] a map of initial property values (optional)
        # @param struct_value [VAPI::Data::StructValue] a raw StructValue from the wire (optional)
        def initialize(ruby_values=nil, struct_value=nil)
            super(self.class.binding_type, ruby_values, struct_value)
        end

        # The  ``Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod``   enumerated type  indicates how a subscribed library should authenticate to the published library endpoint.
        # @!attribute [rw] basic
        #     @return [Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod]
        #     Require HTTP Basic authentication matching a specified username and password.
        # @!attribute [rw] none
        #     @return [Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod]
        #     Require no authentication.
        class AuthenticationMethod < VAPI::Bindings::VapiEnum

            class << self
                # Holds (gets or creates) the binding type metadata for this enumeration type.
                # @scope class
                # @return [VAPI::Bindings::EnumType] the binding type
                def binding_type
                    @binding_type ||= VAPI::Bindings::EnumType.new(
                        'com.vmware.content.library.publish_info.authentication_method',
                        AuthenticationMethod)
                end

                # Converts from a string value (perhaps off the wire) to an instance
                # of this enum type.
                # @param value [String] the actual value of the enum instance
                # @return [AuthenticationMethod] the instance found for the value, otherwise
                #         an unknown instance will be built for the value
                def from_string(value)
                    begin
                        const_get(value)
                    rescue NameError
                        AuthenticationMethod.new('UNKNOWN', value)
                    end
                end
            end

            private

            # Constructs a new instance.
            # @param value [String] the actual value of the enum instance
            # @param unknown [String] the unknown value when value is 'UKNOWN'
            def initialize(value, unknown=nil)
                super(self.class.binding_type, value, unknown)
            end

            public

            # @!attribute [rw] basic
            #     @return [Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod]
            #     Require HTTP Basic authentication matching a specified username and password.
            BASIC = AuthenticationMethod.new('BASIC')

            # @!attribute [rw] none
            #     @return [Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod]
            #     Require no authentication.
            NONE = AuthenticationMethod.new('NONE')

        end

    end

### - (`String`) user_name

The username to require for authentication. This field is optional for the ``create`` and ``update`` method . When the authentication is not required, the username can be left nil . When the authentication method is basic, the username is ignored in the current release. It defaults to “vcsp”. It is preferable to leave this unset. If specified, it must be set to “vcsp”.

Returns:

- (`String`)

    693
    694
    695
    696
    697
    698
    699
    700
    701
    702
    703
    704
    705
    706
    707
    708
    709
    710
    711
    712
    713
    714
    715
    716
    717
    718
    719
    720
    721
    722
    723
    724
    725
    726
    727
    728
    729
    730
    731
    732
    733
    734
    735
    736
    737
    738
    739
    740
    741
    742
    743
    744
    745
    746
    747
    748
    749
    750
    751
    752
    753
    754
    755
    756
    757
    758
    759
    760
    761
    762
    763
    764
    765
    766
    767
    768
    769
    770
    771
    772
    773
    774
    775
    776
    777
    778
    779
    780
    781
    782
    783
    784
    785
    786
    787
    788
    # File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/content/library.rb', line 693

    class PublishInfo < VAPI::Bindings::VapiStruct

        class << self
            # Holds (gets or creates) the binding type metadata for this structure type.
            # @scope class
            # @return [VAPI::Bindings::StructType] the binding type
            def binding_type
                @binding_type ||= VAPI::Bindings::StructType.new(
                    'com.vmware.content.library.publish_info',
                    {
                        'authentication_method' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod')),
                        'published' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::BooleanType.instance),
                        'publish_url' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::URIType.instance),
                        'user_name' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::StringType.instance),
                        'password' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SecretType.instance),
                        'persist_json_enabled' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::BooleanType.instance),
                    },
                    PublishInfo,
                    false,
                    nil)
            end
        end

        attr_accessor :authentication_method,
                      :published,
                      :publish_url,
                      :user_name,
                      :password,
                      :persist_json_enabled

        # Constructs a new instance.
        # @param ruby_values [Hash] a map of initial property values (optional)
        # @param struct_value [VAPI::Data::StructValue] a raw StructValue from the wire (optional)
        def initialize(ruby_values=nil, struct_value=nil)
            super(self.class.binding_type, ruby_values, struct_value)
        end

        # The  ``Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod``   enumerated type  indicates how a subscribed library should authenticate to the published library endpoint.
        # @!attribute [rw] basic
        #     @return [Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod]
        #     Require HTTP Basic authentication matching a specified username and password.
        # @!attribute [rw] none
        #     @return [Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod]
        #     Require no authentication.
        class AuthenticationMethod < VAPI::Bindings::VapiEnum

            class << self
                # Holds (gets or creates) the binding type metadata for this enumeration type.
                # @scope class
                # @return [VAPI::Bindings::EnumType] the binding type
                def binding_type
                    @binding_type ||= VAPI::Bindings::EnumType.new(
                        'com.vmware.content.library.publish_info.authentication_method',
                        AuthenticationMethod)
                end

                # Converts from a string value (perhaps off the wire) to an instance
                # of this enum type.
                # @param value [String] the actual value of the enum instance
                # @return [AuthenticationMethod] the instance found for the value, otherwise
                #         an unknown instance will be built for the value
                def from_string(value)
                    begin
                        const_get(value)
                    rescue NameError
                        AuthenticationMethod.new('UNKNOWN', value)
                    end
                end
            end

            private

            # Constructs a new instance.
            # @param value [String] the actual value of the enum instance
            # @param unknown [String] the unknown value when value is 'UKNOWN'
            def initialize(value, unknown=nil)
                super(self.class.binding_type, value, unknown)
            end

            public

            # @!attribute [rw] basic
            #     @return [Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod]
            #     Require HTTP Basic authentication matching a specified username and password.
            BASIC = AuthenticationMethod.new('BASIC')

            # @!attribute [rw] none
            #     @return [Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod]
            #     Require no authentication.
            NONE = AuthenticationMethod.new('NONE')

        end

    end

## Class Method Details

### + (`VAPI::Bindings::StructType`) binding_type

Holds (gets or creates) the binding type metadata for this structure type.

Returns:

- (`VAPI::Bindings::StructType`) —

  the binding type

    699
    700
    701
    702
    703
    704
    705
    706
    707
    708
    709
    710
    711
    712
    713
    # File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/content/library.rb', line 699

    def binding_type
        @binding_type ||= VAPI::Bindings::StructType.new(
            'com.vmware.content.library.publish_info',
            {
                'authentication_method' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Content::Library::PublishInfo::AuthenticationMethod')),
                'published' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::BooleanType.instance),
                'publish_url' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::URIType.instance),
                'user_name' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::StringType.instance),
                'password' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SecretType.instance),
                'persist_json_enabled' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::BooleanType.instance),
            },
            PublishInfo,
            false,
            nil)
    end