UNPKG

rhizo-co-terraform-provider-oci

Version:

Prebuilt oci Provider for Terraform CDK (cdktf)

854 lines (853 loc) 153 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u; Object.defineProperty(exports, "__esModule", { value: true }); exports.DataOciCoreNetworkSecurityGroupSecurityRules = exports.DataOciCoreNetworkSecurityGroupSecurityRulesFilterList = exports.DataOciCoreNetworkSecurityGroupSecurityRulesFilterOutputReference = exports.dataOciCoreNetworkSecurityGroupSecurityRulesFilterToHclTerraform = exports.dataOciCoreNetworkSecurityGroupSecurityRulesFilterToTerraform = exports.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesList = exports.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesOutputReference = exports.dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesToHclTerraform = exports.dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesToTerraform = exports.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsList = exports.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsOutputReference = exports.dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsToHclTerraform = exports.dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsToTerraform = exports.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsSourcePortRangeList = exports.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsSourcePortRangeOutputReference = exports.dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsSourcePortRangeToHclTerraform = exports.dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsSourcePortRangeToTerraform = exports.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsDestinationPortRangeList = exports.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsDestinationPortRangeOutputReference = exports.dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsDestinationPortRangeToHclTerraform = exports.dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsDestinationPortRangeToTerraform = exports.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsList = exports.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsOutputReference = exports.dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsToHclTerraform = exports.dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsToTerraform = exports.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsSourcePortRangeList = exports.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsSourcePortRangeOutputReference = exports.dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsSourcePortRangeToHclTerraform = exports.dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsSourcePortRangeToTerraform = exports.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsDestinationPortRangeList = exports.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsDestinationPortRangeOutputReference = exports.dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsDestinationPortRangeToHclTerraform = exports.dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsDestinationPortRangeToTerraform = exports.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesIcmpOptionsList = exports.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesIcmpOptionsOutputReference = exports.dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesIcmpOptionsToHclTerraform = exports.dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesIcmpOptionsToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesIcmpOptionsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return {}; } exports.dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesIcmpOptionsToTerraform = dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesIcmpOptionsToTerraform; function dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesIcmpOptionsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = {}; return attrs; } exports.dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesIcmpOptionsToHclTerraform = dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesIcmpOptionsToHclTerraform; class DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesIcmpOptionsOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } // code - computed: true, optional: false, required: false get code() { return this.getNumberAttribute('code'); } // type - computed: true, optional: false, required: false get type() { return this.getNumberAttribute('type'); } } exports.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesIcmpOptionsOutputReference = DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesIcmpOptionsOutputReference; _a = JSII_RTTI_SYMBOL_1; DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesIcmpOptionsOutputReference[_a] = { fqn: "rhizo-co-terraform-provider-oci.dataOciCoreNetworkSecurityGroupSecurityRules.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesIcmpOptionsOutputReference", version: "1.0.0" }; class DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesIcmpOptionsList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesIcmpOptionsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesIcmpOptionsList = DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesIcmpOptionsList; _b = JSII_RTTI_SYMBOL_1; DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesIcmpOptionsList[_b] = { fqn: "rhizo-co-terraform-provider-oci.dataOciCoreNetworkSecurityGroupSecurityRules.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesIcmpOptionsList", version: "1.0.0" }; function dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsDestinationPortRangeToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return {}; } exports.dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsDestinationPortRangeToTerraform = dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsDestinationPortRangeToTerraform; function dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsDestinationPortRangeToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = {}; return attrs; } exports.dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsDestinationPortRangeToHclTerraform = dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsDestinationPortRangeToHclTerraform; class DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsDestinationPortRangeOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } // max - computed: true, optional: false, required: false get max() { return this.getNumberAttribute('max'); } // min - computed: true, optional: false, required: false get min() { return this.getNumberAttribute('min'); } } exports.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsDestinationPortRangeOutputReference = DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsDestinationPortRangeOutputReference; _c = JSII_RTTI_SYMBOL_1; DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsDestinationPortRangeOutputReference[_c] = { fqn: "rhizo-co-terraform-provider-oci.dataOciCoreNetworkSecurityGroupSecurityRules.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsDestinationPortRangeOutputReference", version: "1.0.0" }; class DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsDestinationPortRangeList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsDestinationPortRangeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsDestinationPortRangeList = DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsDestinationPortRangeList; _d = JSII_RTTI_SYMBOL_1; DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsDestinationPortRangeList[_d] = { fqn: "rhizo-co-terraform-provider-oci.dataOciCoreNetworkSecurityGroupSecurityRules.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsDestinationPortRangeList", version: "1.0.0" }; function dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsSourcePortRangeToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return {}; } exports.dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsSourcePortRangeToTerraform = dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsSourcePortRangeToTerraform; function dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsSourcePortRangeToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = {}; return attrs; } exports.dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsSourcePortRangeToHclTerraform = dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsSourcePortRangeToHclTerraform; class DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsSourcePortRangeOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } // max - computed: true, optional: false, required: false get max() { return this.getNumberAttribute('max'); } // min - computed: true, optional: false, required: false get min() { return this.getNumberAttribute('min'); } } exports.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsSourcePortRangeOutputReference = DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsSourcePortRangeOutputReference; _e = JSII_RTTI_SYMBOL_1; DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsSourcePortRangeOutputReference[_e] = { fqn: "rhizo-co-terraform-provider-oci.dataOciCoreNetworkSecurityGroupSecurityRules.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsSourcePortRangeOutputReference", version: "1.0.0" }; class DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsSourcePortRangeList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsSourcePortRangeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsSourcePortRangeList = DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsSourcePortRangeList; _f = JSII_RTTI_SYMBOL_1; DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsSourcePortRangeList[_f] = { fqn: "rhizo-co-terraform-provider-oci.dataOciCoreNetworkSecurityGroupSecurityRules.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsSourcePortRangeList", version: "1.0.0" }; function dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return {}; } exports.dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsToTerraform = dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsToTerraform; function dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = {}; return attrs; } exports.dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsToHclTerraform = dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsToHclTerraform; class DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; // destination_port_range - computed: true, optional: false, required: false this._destinationPortRange = new DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsDestinationPortRangeList(this, "destination_port_range", false); // source_port_range - computed: true, optional: false, required: false this._sourcePortRange = new DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsSourcePortRangeList(this, "source_port_range", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } get destinationPortRange() { return this._destinationPortRange; } get sourcePortRange() { return this._sourcePortRange; } } exports.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsOutputReference = DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsOutputReference; _g = JSII_RTTI_SYMBOL_1; DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsOutputReference[_g] = { fqn: "rhizo-co-terraform-provider-oci.dataOciCoreNetworkSecurityGroupSecurityRules.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsOutputReference", version: "1.0.0" }; class DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsList = DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsList; _h = JSII_RTTI_SYMBOL_1; DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsList[_h] = { fqn: "rhizo-co-terraform-provider-oci.dataOciCoreNetworkSecurityGroupSecurityRules.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsList", version: "1.0.0" }; function dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsDestinationPortRangeToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return {}; } exports.dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsDestinationPortRangeToTerraform = dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsDestinationPortRangeToTerraform; function dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsDestinationPortRangeToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = {}; return attrs; } exports.dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsDestinationPortRangeToHclTerraform = dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsDestinationPortRangeToHclTerraform; class DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsDestinationPortRangeOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } // max - computed: true, optional: false, required: false get max() { return this.getNumberAttribute('max'); } // min - computed: true, optional: false, required: false get min() { return this.getNumberAttribute('min'); } } exports.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsDestinationPortRangeOutputReference = DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsDestinationPortRangeOutputReference; _j = JSII_RTTI_SYMBOL_1; DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsDestinationPortRangeOutputReference[_j] = { fqn: "rhizo-co-terraform-provider-oci.dataOciCoreNetworkSecurityGroupSecurityRules.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsDestinationPortRangeOutputReference", version: "1.0.0" }; class DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsDestinationPortRangeList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsDestinationPortRangeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsDestinationPortRangeList = DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsDestinationPortRangeList; _k = JSII_RTTI_SYMBOL_1; DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsDestinationPortRangeList[_k] = { fqn: "rhizo-co-terraform-provider-oci.dataOciCoreNetworkSecurityGroupSecurityRules.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsDestinationPortRangeList", version: "1.0.0" }; function dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsSourcePortRangeToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return {}; } exports.dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsSourcePortRangeToTerraform = dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsSourcePortRangeToTerraform; function dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsSourcePortRangeToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = {}; return attrs; } exports.dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsSourcePortRangeToHclTerraform = dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsSourcePortRangeToHclTerraform; class DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsSourcePortRangeOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } // max - computed: true, optional: false, required: false get max() { return this.getNumberAttribute('max'); } // min - computed: true, optional: false, required: false get min() { return this.getNumberAttribute('min'); } } exports.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsSourcePortRangeOutputReference = DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsSourcePortRangeOutputReference; _l = JSII_RTTI_SYMBOL_1; DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsSourcePortRangeOutputReference[_l] = { fqn: "rhizo-co-terraform-provider-oci.dataOciCoreNetworkSecurityGroupSecurityRules.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsSourcePortRangeOutputReference", version: "1.0.0" }; class DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsSourcePortRangeList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsSourcePortRangeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsSourcePortRangeList = DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsSourcePortRangeList; _m = JSII_RTTI_SYMBOL_1; DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsSourcePortRangeList[_m] = { fqn: "rhizo-co-terraform-provider-oci.dataOciCoreNetworkSecurityGroupSecurityRules.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsSourcePortRangeList", version: "1.0.0" }; function dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return {}; } exports.dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsToTerraform = dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsToTerraform; function dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = {}; return attrs; } exports.dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsToHclTerraform = dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsToHclTerraform; class DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; // destination_port_range - computed: true, optional: false, required: false this._destinationPortRange = new DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsDestinationPortRangeList(this, "destination_port_range", false); // source_port_range - computed: true, optional: false, required: false this._sourcePortRange = new DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsSourcePortRangeList(this, "source_port_range", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } get destinationPortRange() { return this._destinationPortRange; } get sourcePortRange() { return this._sourcePortRange; } } exports.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsOutputReference = DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsOutputReference; _o = JSII_RTTI_SYMBOL_1; DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsOutputReference[_o] = { fqn: "rhizo-co-terraform-provider-oci.dataOciCoreNetworkSecurityGroupSecurityRules.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsOutputReference", version: "1.0.0" }; class DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsList = DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsList; _p = JSII_RTTI_SYMBOL_1; DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsList[_p] = { fqn: "rhizo-co-terraform-provider-oci.dataOciCoreNetworkSecurityGroupSecurityRules.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsList", version: "1.0.0" }; function dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return {}; } exports.dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesToTerraform = dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesToTerraform; function dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = {}; return attrs; } exports.dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesToHclTerraform = dataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesToHclTerraform; class DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; // icmp_options - computed: true, optional: false, required: false this._icmpOptions = new DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesIcmpOptionsList(this, "icmp_options", false); // tcp_options - computed: true, optional: false, required: false this._tcpOptions = new DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesTcpOptionsList(this, "tcp_options", false); // udp_options - computed: true, optional: false, required: false this._udpOptions = new DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesUdpOptionsList(this, "udp_options", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } // description - computed: true, optional: false, required: false get description() { return this.getStringAttribute('description'); } // destination - computed: true, optional: false, required: false get destination() { return this.getStringAttribute('destination'); } // destination_type - computed: true, optional: false, required: false get destinationType() { return this.getStringAttribute('destination_type'); } // direction - computed: true, optional: false, required: false get direction() { return this.getStringAttribute('direction'); } get icmpOptions() { return this._icmpOptions; } // id - computed: true, optional: false, required: false get id() { return this.getStringAttribute('id'); } // is_valid - computed: true, optional: false, required: false get isValid() { return this.getBooleanAttribute('is_valid'); } // protocol - computed: true, optional: false, required: false get protocol() { return this.getStringAttribute('protocol'); } // source - computed: true, optional: false, required: false get source() { return this.getStringAttribute('source'); } // source_type - computed: true, optional: false, required: false get sourceType() { return this.getStringAttribute('source_type'); } // stateless - computed: true, optional: false, required: false get stateless() { return this.getBooleanAttribute('stateless'); } get tcpOptions() { return this._tcpOptions; } // time_created - computed: true, optional: false, required: false get timeCreated() { return this.getStringAttribute('time_created'); } get udpOptions() { return this._udpOptions; } } exports.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesOutputReference = DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesOutputReference; _q = JSII_RTTI_SYMBOL_1; DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesOutputReference[_q] = { fqn: "rhizo-co-terraform-provider-oci.dataOciCoreNetworkSecurityGroupSecurityRules.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesOutputReference", version: "1.0.0" }; class DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesList = DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesList; _r = JSII_RTTI_SYMBOL_1; DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesList[_r] = { fqn: "rhizo-co-terraform-provider-oci.dataOciCoreNetworkSecurityGroupSecurityRules.DataOciCoreNetworkSecurityGroupSecurityRulesSecurityRulesList", version: "1.0.0" }; function dataOciCoreNetworkSecurityGroupSecurityRulesFilterToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { name: cdktf.stringToTerraform(struct.name), regex: cdktf.booleanToTerraform(struct.regex), values: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.values), }; } exports.dataOciCoreNetworkSecurityGroupSecurityRulesFilterToTerraform = dataOciCoreNetworkSecurityGroupSecurityRulesFilterToTerraform; function dataOciCoreNetworkSecurityGroupSecurityRulesFilterToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, regex: { value: cdktf.booleanToHclTerraform(struct.regex), isBlock: false, type: "simple", storageClassType: "boolean", }, values: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.values), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.dataOciCoreNetworkSecurityGroupSecurityRulesFilterToHclTerraform = dataOciCoreNetworkSecurityGroupSecurityRulesFilterToHclTerraform; class DataOciCoreNetworkSecurityGroupSecurityRulesFilterOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._regex !== undefined) { hasAnyValues = true; internalValueResult.regex = this._regex; } if (this._values !== undefined) { hasAnyValues = true; internalValueResult.values = this._values; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._name = undefined; this._regex = undefined; this._values = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._name = value.name; this._regex = value.regex; this._values = value.values; } } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get regex() { return this.getBooleanAttribute('regex'); } set regex(value) { this._regex = value; } resetRegex() { this._regex = undefined; } // Temporarily expose input value. Use with caution. get regexInput() { return this._regex; } get values() { return this.getListAttribute('values'); } set values(value) { this._values = value; } // Temporarily expose input value. Use with caution. get valuesInput() { return this._values; } } exports.DataOciCoreNetworkSecurityGroupSecurityRulesFilterOutputReference = DataOciCoreNetworkSecurityGroupSecurityRulesFilterOutputReference; _s = JSII_RTTI_SYMBOL_1; DataOciCoreNetworkSecurityGroupSecurityRulesFilterOutputReference[_s] = { fqn: "rhizo-co-terraform-provider-oci.dataOciCoreNetworkSecurityGroupSecurityRules.DataOciCoreNetworkSecurityGroupSecurityRulesFilterOutputReference", version: "1.0.0" }; class DataOciCoreNetworkSecurityGroupSecurityRulesFilterList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new DataOciCoreNetworkSecurityGroupSecurityRulesFilterOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.DataOciCoreNetworkSecurityGroupSecurityRulesFilterList = DataOciCoreNetworkSecurityGroupSecurityRulesFilterList; _t = JSII_RTTI_SYMBOL_1; DataOciCoreNetworkSecurityGroupSecurityRulesFilterList[_t] = { fqn: "rhizo-co-terraform-provider-oci.dataOciCoreNetworkSecurityGroupSecurityRules.DataOciCoreNetworkSecurityGroupSecurityRulesFilterList", version: "1.0.0" }; /** * Represents a {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/core_network_security_group_security_rules oci_core_network_security_group_security_rules} */ class DataOciCoreNetworkSecurityGroupSecurityRules extends cdktf.TerraformDataSource { // ==============